From 151e2647cb12ef3561b93c6ec8a0b305b3a83ea1 Mon Sep 17 00:00:00 2001 From: Enoch Date: Tue, 6 Aug 2024 15:08:04 +0900 Subject: [PATCH 1/8] [Localization][ko] Translate missed texts in filter bar. (#3370) * Add missed translation and fix wrong message key * change some text * Update src/locales/ko/filter-bar.ts * Update src/locales/ko/filter-bar.ts * Add confirmExit translation --- src/locales/ko/filter-bar.ts | 22 ++++++++++----------- src/locales/ko/starter-select-ui-handler.ts | 2 +- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/src/locales/ko/filter-bar.ts b/src/locales/ko/filter-bar.ts index a07a96a1ee8..b4dcb48b581 100644 --- a/src/locales/ko/filter-bar.ts +++ b/src/locales/ko/filter-bar.ts @@ -13,18 +13,18 @@ export const filterBar: SimpleTranslationEntries = { "passive": "패시브", "passiveUnlocked": "패시브 해금", "passiveLocked": "패시브 잠김", - "costReduction": "Cost Reduction", - "costReductionUnlocked": "Cost Reduction Unlocked", - "costReductionLocked": "Cost Reduction Locked", + "costReduction": "코스트 줄이기", + "costReductionUnlocked": "코스트 절감됨", + "costReductionLocked": "코스트 절감 없음", "ribbon": "클리어 여부", - "hasWon": "클리어 함", - "hasNotwon": "클리어 안함", - "hiddenAbility": "Hidden Ability", - "hasHiddenAbility": "Hidden Ability - Yes", - "noHiddenAbility": "Hidden Ability - No", - "pokerus": "Pokerus", - "hasPokerus": "Pokerus - Yes", - "noPokerus": "Pokerus - No", + "hasWon": "클리어 완료", + "hasNotWon": "클리어 안함", + "hiddenAbility": "숨겨진 특성", + "hasHiddenAbility": "숨겨진 특성 보유", + "noHiddenAbility": "숨겨진 특성 없음", + "pokerus": "포켓러스", + "hasPokerus": "포켓러스 감염", + "noPokerus": "포켓러스 없음", "sortByNumber": "도감번호", "sortByCost": "코스트", "sortByCandies": "사탕 수", diff --git a/src/locales/ko/starter-select-ui-handler.ts b/src/locales/ko/starter-select-ui-handler.ts index c57a37788fa..25bb006059e 100644 --- a/src/locales/ko/starter-select-ui-handler.ts +++ b/src/locales/ko/starter-select-ui-handler.ts @@ -7,7 +7,7 @@ import { SimpleTranslationEntries } from "#app/interfaces/locales"; */ export const starterSelectUiHandler: SimpleTranslationEntries = { "confirmStartTeam": "이 포켓몬들로 시작하시겠습니까?", - "confirmExit": "Do you want to exit?", + "confirmExit": "나가시겠습니까?", "invalidParty": "스타팅 포켓몬 파티에 적합하지 않습니다!", "gen1": "1세대", "gen2": "2세대", From 7e81b5021442543903e45b952b02b7b41b0d9877 Mon Sep 17 00:00:00 2001 From: damocleas Date: Tue, 6 Aug 2024 02:24:05 -0400 Subject: [PATCH 2/8] Passive Changes (#3372) --- src/data/pokemon-species.ts | 72 ++++++++++++++++++------------------- 1 file changed, 36 insertions(+), 36 deletions(-) diff --git a/src/data/pokemon-species.ts b/src/data/pokemon-species.ts index 4774b372065..64e3fa70ad6 100644 --- a/src/data/pokemon-species.ts +++ b/src/data/pokemon-species.ts @@ -3319,14 +3319,14 @@ export const starterPassiveAbilities = { [Species.SQUIRTLE]: Abilities.STURDY, [Species.CATERPIE]: Abilities.MAGICIAN, [Species.WEEDLE]: Abilities.TINTED_LENS, - [Species.PIDGEY]: Abilities.GALE_WINGS, + [Species.PIDGEY]: Abilities.FLARE_BOOST, [Species.RATTATA]: Abilities.STRONG_JAW, [Species.SPEAROW]: Abilities.MOXIE, [Species.EKANS]: Abilities.REGENERATOR, [Species.SANDSHREW]: Abilities.TOUGH_CLAWS, [Species.NIDORAN_F]: Abilities.FLARE_BOOST, [Species.NIDORAN_M]: Abilities.GUTS, - [Species.VULPIX]: Abilities.SOLAR_POWER, + [Species.VULPIX]: Abilities.FUR_COAT, [Species.ZUBAT]: Abilities.INTIMIDATE, [Species.ODDISH]: Abilities.TRIAGE, [Species.PARAS]: Abilities.TRIAGE, @@ -3345,16 +3345,16 @@ export const starterPassiveAbilities = { [Species.PONYTA]: Abilities.MAGIC_GUARD, [Species.SLOWPOKE]: Abilities.UNAWARE, [Species.MAGNEMITE]: Abilities.LEVITATE, - [Species.FARFETCHD]: Abilities.HUGE_POWER, + [Species.FARFETCHD]: Abilities.SNIPER, [Species.DODUO]: Abilities.PARENTAL_BOND, [Species.SEEL]: Abilities.WATER_BUBBLE, [Species.GRIMER]: Abilities.WATER_ABSORB, [Species.SHELLDER]: Abilities.ICE_SCALES, [Species.GASTLY]: Abilities.SHADOW_SHIELD, [Species.ONIX]: Abilities.ROCKY_PAYLOAD, - [Species.DROWZEE]: Abilities.BAD_DREAMS, + [Species.DROWZEE]: Abilities.MAGICIAN, [Species.KRABBY]: Abilities.UNBURDEN, - [Species.VOLTORB]: Abilities.ELECTRIC_SURGE, + [Species.VOLTORB]: Abilities.TRANSISTOR, [Species.EXEGGCUTE]: Abilities.RIPEN, [Species.CUBONE]: Abilities.PARENTAL_BOND, [Species.LICKITUNG]: Abilities.THICK_FAT, @@ -3374,7 +3374,7 @@ export const starterPassiveAbilities = { [Species.EEVEE]: Abilities.SIMPLE, [Species.PORYGON]: Abilities.PROTEAN, [Species.OMANYTE]: Abilities.STURDY, - [Species.KABUTO]: Abilities.SHARPNESS, + [Species.KABUTO]: Abilities.TOUGH_CLAWS, [Species.AERODACTYL]: Abilities.ORICHALCUM_PULSE, [Species.ARTICUNO]: Abilities.SNOW_WARNING, [Species.ZAPDOS]: Abilities.DRIZZLE, @@ -3476,7 +3476,7 @@ export const starterPassiveAbilities = { [Species.CACNEA]: Abilities.SAND_RUSH, [Species.SWABLU]: Abilities.ADAPTABILITY, [Species.ZANGOOSE]: Abilities.POISON_HEAL, - [Species.SEVIPER]: Abilities.INTIMIDATE, + [Species.SEVIPER]: Abilities.MULTISCALE, [Species.LUNATONE]: Abilities.SHADOW_SHIELD, [Species.SOLROCK]: Abilities.DROUGHT, [Species.BARBOACH]: Abilities.SIMPLE, @@ -3495,16 +3495,16 @@ export const starterPassiveAbilities = { [Species.SNORUNT]: Abilities.SNOW_WARNING, [Species.SPHEAL]: Abilities.UNAWARE, [Species.CLAMPERL]: Abilities.DRIZZLE, - [Species.RELICANTH]: Abilities.SOLID_ROCK, + [Species.RELICANTH]: Abilities.PRIMORDIAL_SEA, [Species.LUVDISC]: Abilities.MULTISCALE, - [Species.BAGON]: Abilities.ADAPTABILITY, + [Species.BAGON]: Abilities.DRAGONS_MAW, [Species.BELDUM]: Abilities.LEVITATE, [Species.REGIROCK]: Abilities.SAND_STREAM, [Species.REGICE]: Abilities.SNOW_WARNING, [Species.REGISTEEL]: Abilities.FILTER, - [Species.LATIAS]: Abilities.SOUL_HEART, + [Species.LATIAS]: Abilities.PRISM_ARMOR, [Species.LATIOS]: Abilities.TINTED_LENS, - [Species.KYOGRE]: Abilities.RAIN_DISH, + [Species.KYOGRE]: Abilities.MOLD_BREAKER, [Species.GROUDON]: Abilities.TURBOBLAZE, [Species.RAYQUAZA]: Abilities.UNNERVE, [Species.JIRACHI]: Abilities.COMATOSE, @@ -3523,7 +3523,7 @@ export const starterPassiveAbilities = { [Species.COMBEE]: Abilities.INTIMIDATE, [Species.PACHIRISU]: Abilities.HONEY_GATHER, [Species.BUIZEL]: Abilities.MOXIE, - [Species.CHERUBI]: Abilities.DROUGHT, + [Species.CHERUBI]: Abilities.ORICHALCUM_PULSE, [Species.SHELLOS]: Abilities.REGENERATOR, [Species.DRIFLOON]: Abilities.MAGIC_GUARD, [Species.BUNEARY]: Abilities.ADAPTABILITY, @@ -3537,13 +3537,13 @@ export const starterPassiveAbilities = { [Species.CHATOT]: Abilities.PUNK_ROCK, [Species.SPIRITOMB]: Abilities.VESSEL_OF_RUIN, [Species.GIBLE]: Abilities.SAND_STREAM, - [Species.MUNCHLAX]: Abilities.RIPEN, + [Species.MUNCHLAX]: Abilities.HARVEST, [Species.RIOLU]: Abilities.MINDS_EYE, [Species.HIPPOPOTAS]: Abilities.UNAWARE, [Species.SKORUPI]: Abilities.SUPER_LUCK, [Species.CROAGUNK]: Abilities.MOXIE, [Species.CARNIVINE]: Abilities.ARENA_TRAP, - [Species.FINNEON]: Abilities.DRIZZLE, + [Species.FINNEON]: Abilities.WATER_BUBBLE, [Species.MANTYKE]: Abilities.UNAWARE, [Species.SNOVER]: Abilities.THICK_FAT, [Species.ROTOM]: Abilities.HADRON_ENGINE, @@ -3557,7 +3557,7 @@ export const starterPassiveAbilities = { [Species.GIRATINA]: Abilities.SHADOW_SHIELD, [Species.CRESSELIA]: Abilities.MAGIC_BOUNCE, [Species.PHIONE]: Abilities.SIMPLE, - [Species.MANAPHY]: Abilities.SIMPLE, + [Species.MANAPHY]: Abilities.PRIMORDIAL_SEA, [Species.DARKRAI]: Abilities.UNNERVE, [Species.SHAYMIN]: Abilities.WIND_RIDER, [Species.ARCEUS]: Abilities.ADAPTABILITY, @@ -3590,13 +3590,13 @@ export const starterPassiveAbilities = { [Species.SANDILE]: Abilities.TOUGH_CLAWS, [Species.DARUMAKA]: Abilities.GORILLA_TACTICS, [Species.MARACTUS]: Abilities.WELL_BAKED_BODY, - [Species.DWEBBLE]: Abilities.ANGER_SHELL, + [Species.DWEBBLE]: Abilities.ROCKY_PAYLOAD, [Species.SCRAGGY]: Abilities.PROTEAN, - [Species.SIGILYPH]: Abilities.MAGICIAN, + [Species.SIGILYPH]: Abilities.FLARE_BOOST, [Species.YAMASK]: Abilities.PURIFYING_SALT, - [Species.TIRTOUGA]: Abilities.ANGER_SHELL, + [Species.TIRTOUGA]: Abilities.WATER_ABSORB, [Species.ARCHEN]: Abilities.MULTISCALE, - [Species.TRUBBISH]: Abilities.TOXIC_DEBRIS, + [Species.TRUBBISH]: Abilities.NEUTRALIZING_GAS, [Species.ZORUA]: Abilities.DARK_AURA, [Species.MINCCINO]: Abilities.FUR_COAT, [Species.GOTHITA]: Abilities.UNNERVE, @@ -3611,7 +3611,7 @@ export const starterPassiveAbilities = { [Species.ALOMOMOLA]: Abilities.MULTISCALE, [Species.JOLTIK]: Abilities.TRANSISTOR, [Species.FERROSEED]: Abilities.ROUGH_SKIN, - [Species.KLINK]: Abilities.STEELWORKER, + [Species.KLINK]: Abilities.STEELY_SPIRIT, [Species.TYNAMO]: Abilities.POISON_HEAL, [Species.ELGYEM]: Abilities.PRISM_ARMOR, [Species.LITWICK]: Abilities.SOUL_HEART, @@ -3625,7 +3625,7 @@ export const starterPassiveAbilities = { [Species.GOLETT]: Abilities.SHADOW_SHIELD, [Species.PAWNIARD]: Abilities.SWORD_OF_RUIN, [Species.BOUFFALANT]: Abilities.ROCK_HEAD, - [Species.RUFFLET]: Abilities.GALE_WINGS, + [Species.RUFFLET]: Abilities.SPEED_BOOST, [Species.VULLABY]: Abilities.THICK_FAT, [Species.HEATMOR]: Abilities.CONTRARY, [Species.DURANT]: Abilities.COMPOUND_EYES, @@ -3651,12 +3651,12 @@ export const starterPassiveAbilities = { [Species.SCATTERBUG]: Abilities.PRANKSTER, [Species.LITLEO]: Abilities.BEAST_BOOST, [Species.FLABEBE]: Abilities.GRASSY_SURGE, - [Species.SKIDDO]: Abilities.GRASSY_SURGE, + [Species.SKIDDO]: Abilities.SEED_SOWER, [Species.PANCHAM]: Abilities.FUR_COAT, [Species.FURFROU]: Abilities.FLUFFY, [Species.ESPURR]: Abilities.FUR_COAT, [Species.HONEDGE]: Abilities.SHARPNESS, - [Species.SPRITZEE]: Abilities.MISTY_SURGE, + [Species.SPRITZEE]: Abilities.FUR_COAT, [Species.SWIRLIX]: Abilities.WELL_BAKED_BODY, [Species.INKAY]: Abilities.UNNERVE, [Species.BINACLE]: Abilities.SAP_SIPPER, @@ -3670,17 +3670,17 @@ export const starterPassiveAbilities = { [Species.CARBINK]: Abilities.SOLID_ROCK, [Species.GOOMY]: Abilities.REGENERATOR, [Species.KLEFKI]: Abilities.LEVITATE, - [Species.PHANTUMP]: Abilities.RIPEN, + [Species.PHANTUMP]: Abilities.SHADOW_TAG, [Species.PUMPKABOO]: Abilities.WELL_BAKED_BODY, [Species.BERGMITE]: Abilities.ICE_SCALES, [Species.NOIBAT]: Abilities.PUNK_ROCK, - [Species.XERNEAS]: Abilities.MISTY_SURGE, + [Species.XERNEAS]: Abilities.HARVEST, [Species.YVELTAL]: Abilities.SOUL_HEART, [Species.ZYGARDE]: Abilities.HUGE_POWER, [Species.DIANCIE]: Abilities.LEVITATE, [Species.HOOPA]: Abilities.OPPORTUNIST, [Species.VOLCANION]: Abilities.FILTER, - [Species.ROWLET]: Abilities.UNBURDEN, + [Species.ROWLET]: Abilities.SNIPER, [Species.LITTEN]: Abilities.FUR_COAT, [Species.POPPLIO]: Abilities.PUNK_ROCK, [Species.PIKIPEK]: Abilities.TECHNICIAN, @@ -3714,7 +3714,7 @@ export const starterPassiveAbilities = { [Species.BRUXISH]: Abilities.MULTISCALE, [Species.DRAMPA]: Abilities.THICK_FAT, [Species.DHELMISE]: Abilities.WATER_BUBBLE, - [Species.JANGMO_O]: Abilities.PUNK_ROCK, + [Species.JANGMO_O]: Abilities.DAUNTLESS_SHIELD, [Species.TAPU_KOKO]: Abilities.TRANSISTOR, [Species.TAPU_LELE]: Abilities.SHEER_FORCE, [Species.TAPU_BULU]: Abilities.TRIAGE, @@ -3726,7 +3726,7 @@ export const starterPassiveAbilities = { [Species.XURKITREE]: Abilities.TRANSISTOR, [Species.CELESTEELA]: Abilities.HEATPROOF, [Species.KARTANA]: Abilities.SHARPNESS, - [Species.GUZZLORD]: Abilities.INNARDS_OUT, + [Species.GUZZLORD]: Abilities.POISON_HEAL, [Species.NECROZMA]: Abilities.BEAST_BOOST, [Species.MAGEARNA]: Abilities.STEELY_SPIRIT, [Species.MARSHADOW]: Abilities.IRON_FIST, @@ -3738,13 +3738,13 @@ export const starterPassiveAbilities = { [Species.GROOKEY]: Abilities.GRASS_PELT, [Species.SCORBUNNY]: Abilities.NO_GUARD, [Species.SOBBLE]: Abilities.SUPER_LUCK, - [Species.SKWOVET]: Abilities.RIPEN, + [Species.SKWOVET]: Abilities.HARVEST, [Species.ROOKIDEE]: Abilities.IRON_BARBS, [Species.BLIPBUG]: Abilities.PSYCHIC_SURGE, [Species.NICKIT]: Abilities.MAGICIAN, [Species.GOSSIFLEUR]: Abilities.GRASSY_SURGE, [Species.WOOLOO]: Abilities.SIMPLE, - [Species.CHEWTLE]: Abilities.ROCK_HEAD, + [Species.CHEWTLE]: Abilities.ROCKY_PAYLOAD, [Species.YAMPER]: Abilities.SHEER_FORCE, [Species.ROLYCOLY]: Abilities.SOLID_ROCK, [Species.APPLIN]: Abilities.DRAGONS_MAW, @@ -3757,7 +3757,7 @@ export const starterPassiveAbilities = { [Species.SINISTEA]: Abilities.SHADOW_SHIELD, [Species.HATENNA]: Abilities.FAIRY_AURA, [Species.IMPIDIMP]: Abilities.FUR_COAT, - [Species.MILCERY]: Abilities.MISTY_SURGE, + [Species.MILCERY]: Abilities.REGENERATOR, [Species.FALINKS]: Abilities.PARENTAL_BOND, [Species.PINCURCHIN]: Abilities.ELECTROMORPHOSIS, [Species.SNOM]: Abilities.SNOW_WARNING, @@ -3776,7 +3776,7 @@ export const starterPassiveAbilities = { [Species.ZAMAZENTA]: Abilities.STAMINA, [Species.ETERNATUS]: Abilities.SUPREME_OVERLORD, [Species.KUBFU]: Abilities.IRON_FIST, - [Species.ZARUDE]: Abilities.GRASSY_SURGE, + [Species.ZARUDE]: Abilities.TOUGH_CLAWS, [Species.REGIELEKI]: Abilities.ELECTRIC_SURGE, [Species.REGIDRAGO]: Abilities.MULTISCALE, [Species.GLASTRIER]: Abilities.FILTER, @@ -3785,7 +3785,7 @@ export const starterPassiveAbilities = { [Species.ENAMORUS]: Abilities.FAIRY_AURA, [Species.SPRIGATITO]: Abilities.MAGICIAN, [Species.FUECOCO]: Abilities.PUNK_ROCK, - [Species.QUAXLY]: Abilities.DEFIANT, + [Species.QUAXLY]: Abilities.OPPORTUNIST, [Species.LECHONK]: Abilities.SIMPLE, [Species.TAROUNTULA]: Abilities.HONEY_GATHER, [Species.NYMBLE]: Abilities.GUTS, @@ -3833,7 +3833,7 @@ export const starterPassiveAbilities = { [Species.IRON_MOTH]: Abilities.LEVITATE, [Species.IRON_THORNS]: Abilities.SAND_STREAM, [Species.FRIGIBAX]: Abilities.SNOW_WARNING, - [Species.GIMMIGHOUL]: Abilities.CONTRARY, + [Species.GIMMIGHOUL]: Abilities.HONEY_GATHER, [Species.WO_CHIEN]: Abilities.VESSEL_OF_RUIN, [Species.CHIEN_PAO]: Abilities.INTREPID_SWORD, [Species.TING_LU]: Abilities.STAMINA, @@ -3864,7 +3864,7 @@ export const starterPassiveAbilities = { [Species.ALOLA_GRIMER]: Abilities.TOXIC_DEBRIS, [Species.ETERNAL_FLOETTE]: Abilities.MAGIC_GUARD, [Species.GALAR_MEOWTH]: Abilities.STEELWORKER, - [Species.GALAR_PONYTA]: Abilities.PIXILATE, + [Species.GALAR_PONYTA]: Abilities.MOXIE, [Species.GALAR_SLOWPOKE]: Abilities.UNAWARE, [Species.GALAR_FARFETCHD]: Abilities.INTREPID_SWORD, [Species.GALAR_ARTICUNO]: Abilities.SERENE_GRACE, @@ -3876,7 +3876,7 @@ export const starterPassiveAbilities = { [Species.GALAR_YAMASK]: Abilities.TABLETS_OF_RUIN, [Species.GALAR_STUNFISK]: Abilities.ARENA_TRAP, [Species.HISUI_GROWLITHE]: Abilities.RECKLESS, - [Species.HISUI_VOLTORB]: Abilities.ELECTRIC_SURGE, + [Species.HISUI_VOLTORB]: Abilities.TRANSISTOR, [Species.HISUI_QWILFISH]: Abilities.MERCILESS, [Species.HISUI_SNEASEL]: Abilities.SCRAPPY, [Species.HISUI_ZORUA]: Abilities.ADAPTABILITY, From 877d0c6db8ec8ee30caf4f16761b3b493bad6200 Mon Sep 17 00:00:00 2001 From: NightKev <34855794+DayKev@users.noreply.github.com> Date: Tue, 6 Aug 2024 07:06:25 -0700 Subject: [PATCH 3/8] [Test] Stylistic consistency pass on tests (#3378) * Modify tests to use overrides helper functions * Apply stylistic consistency to overrides in tests Also remove some non-test-related expects() --- src/test/abilities/ability_timing.test.ts | 4 +- src/test/abilities/aura_break.test.ts | 6 +- src/test/abilities/battery.test.ts | 6 +- src/test/abilities/costar.test.ts | 10 +- src/test/abilities/dry_skin.test.ts | 7 +- src/test/abilities/hustle.test.ts | 6 +- src/test/abilities/ice_face.test.ts | 11 +- src/test/abilities/intimidate.test.ts | 13 +-- src/test/abilities/intrepid_sword.test.ts | 6 +- src/test/abilities/libero.test.ts | 6 +- src/test/abilities/magic_guard.test.ts | 110 ++++++------------ src/test/abilities/moxie.test.ts | 10 +- src/test/abilities/parental_bond.test.ts | 6 +- src/test/abilities/pastel_veil.test.ts | 20 ++-- src/test/abilities/power_spot.test.ts | 6 +- src/test/abilities/protean.test.ts | 6 +- src/test/abilities/quick_draw.test.ts | 4 +- src/test/abilities/sand_spit.test.ts | 4 +- src/test/abilities/sand_veil.test.ts | 8 +- src/test/abilities/sap_sipper.test.ts | 8 +- src/test/abilities/screen_cleaner.test.ts | 4 +- src/test/abilities/serene_grace.test.ts | 9 +- src/test/abilities/sheer_force.test.ts | 9 +- src/test/abilities/shield_dust.test.ts | 9 +- src/test/abilities/steely_spirit.test.ts | 6 +- src/test/abilities/sturdy.test.ts | 9 +- src/test/abilities/sweet_veil.test.ts | 35 +++--- src/test/abilities/unseen_fist.test.ts | 4 +- src/test/abilities/volt_absorb.test.ts | 8 +- src/test/abilities/wind_power.test.ts | 10 +- src/test/abilities/wind_rider.test.ts | 10 +- src/test/abilities/wonder_skin.test.ts | 6 +- src/test/abilities/zen_mode.test.ts | 17 +-- src/test/achievements/achievement.test.ts | 2 +- src/test/arena/arena_gravity.test.ts | 9 +- src/test/arena/weather_fog.test.ts | 8 +- src/test/arena/weather_strong_winds.test.ts | 8 +- src/test/battle-stat.spec.ts | 6 +- src/test/battle/battle-order.test.ts | 9 +- src/test/battle/battle.test.ts | 17 +-- src/test/battle/double_battle.test.ts | 13 +-- src/test/battle/error-handling.test.ts | 2 +- src/test/battle/special_battle.test.ts | 6 +- src/test/eggs/egg.test.ts | 4 +- src/test/evolution.test.ts | 2 +- src/test/evolutions/evolutions.test.ts | 2 +- src/test/game-mode.test.ts | 10 +- src/test/imports.test.ts | 4 +- src/test/inputs/inputs.test.ts | 6 +- src/test/internals.test.ts | 2 +- src/test/items/eviolite.test.ts | 2 +- src/test/items/exp_booster.test.ts | 2 +- src/test/items/grip_claw.test.ts | 8 +- src/test/items/leek.test.ts | 2 +- src/test/items/leftovers.test.ts | 8 +- src/test/items/light_ball.test.ts | 2 +- src/test/items/metal_powder.test.ts | 2 +- src/test/items/quick_powder.test.ts | 2 +- src/test/items/scope_lens.test.ts | 2 +- src/test/items/thick_club.test.ts | 2 +- src/test/items/toxic_orb.test.ts | 11 +- src/test/localization/battle-stat.test.ts | 47 ++++---- src/test/localization/french.test.ts | 8 +- src/test/localization/status-effect.test.ts | 11 +- src/test/localization/terrain.test.ts | 4 +- src/test/moves/astonish.test.ts | 6 +- src/test/moves/aurora_veil.test.ts | 8 +- src/test/moves/beat_up.test.ts | 23 ++-- src/test/moves/belly_drum.test.ts | 23 ++-- src/test/moves/ceaseless_edge.test.ts | 23 +--- src/test/moves/clangorous_soul.test.ts | 30 ++--- src/test/moves/double_team.test.ts | 8 +- src/test/moves/dragon_rage.test.ts | 6 +- src/test/moves/dynamax_cannon.test.ts | 4 +- src/test/moves/fillet_away.test.ts | 30 ++--- src/test/moves/fissure.test.ts | 6 +- src/test/moves/flame_burst.test.ts | 28 ++--- src/test/moves/flower_shield.test.ts | 10 +- src/test/moves/follow_me.test.ts | 10 +- src/test/moves/fusion_bolt.test.ts | 23 ++-- src/test/moves/fusion_flare.test.ts | 21 ++-- src/test/moves/fusion_flare_bolt.test.ts | 25 ++-- src/test/moves/gastro_acid.test.ts | 10 +- src/test/moves/glaive_rush.test.ts | 4 +- src/test/moves/growth.test.ts | 10 +- src/test/moves/hard_press.test.ts | 10 +- src/test/moves/hyper_beam.test.ts | 4 +- src/test/moves/light_screen.test.ts | 8 +- src/test/moves/magnet_rise.test.ts | 2 +- src/test/moves/make_it_rain.test.ts | 12 +- src/test/moves/multi_target.test.ts | 7 +- src/test/moves/octolock.test.ts | 6 +- src/test/moves/purify.test.ts | 8 +- src/test/moves/rage_powder.test.ts | 10 +- src/test/moves/reflect.test.ts | 8 +- src/test/moves/rollout.test.ts | 6 +- src/test/moves/roost.test.ts | 8 +- src/test/moves/spikes.test.ts | 6 +- src/test/moves/spit_up.test.ts | 4 +- src/test/moves/spotlight.test.ts | 10 +- src/test/moves/stockpile.test.ts | 6 +- src/test/moves/swallow.test.ts | 4 +- src/test/moves/tackle.test.ts | 9 +- src/test/moves/tail_whip.test.ts | 10 +- src/test/moves/tailwind.test.ts | 10 +- src/test/moves/thousand_arrows.test.ts | 9 +- src/test/moves/tidy_up.test.ts | 6 +- src/test/phases/phases.test.ts | 4 +- src/test/settingMenu/helpers/inGameManip.ts | 9 +- src/test/settingMenu/helpers/menuManip.ts | 14 +-- .../settingMenu/rebinding_setting.test.ts | 17 ++- src/test/sprites/pokemonSprite.test.ts | 10 +- src/test/ui/starter-select.test.ts | 22 ++-- src/test/ui/transfer-item.test.ts | 9 +- src/test/utils/gameManager.ts | 14 +-- src/test/utils/gameWrapper.ts | 30 ++--- src/test/utils/inputsHandler.ts | 4 +- src/test/utils/misc.test.ts | 10 +- src/test/utils/mocks/mockTextureManager.ts | 14 +-- .../mocks/mocksContainer/mockContainer.ts | 2 +- .../utils/mocks/mocksContainer/mockImage.ts | 2 +- .../mocks/mocksContainer/mockNineslice.ts | 2 +- .../utils/mocks/mocksContainer/mockPolygon.ts | 2 +- src/test/utils/overridesHelper.ts | 11 ++ src/test/utils/phaseInterceptor.ts | 6 +- src/test/vitest.setup.ts | 2 +- 126 files changed, 500 insertions(+), 771 deletions(-) diff --git a/src/test/abilities/ability_timing.test.ts b/src/test/abilities/ability_timing.test.ts index 0004479ed8c..bb025d7fc53 100644 --- a/src/test/abilities/ability_timing.test.ts +++ b/src/test/abilities/ability_timing.test.ts @@ -1,13 +1,13 @@ import { CommandPhase, MessagePhase, TurnInitPhase } from "#app/phases"; import i18next, { initI18n } from "#app/plugins/i18n"; -import GameManager from "#app/test/utils/gameManager"; +import GameManager from "#test/utils/gameManager"; import { Mode } from "#app/ui/ui"; import { Abilities } from "#enums/abilities"; import { Moves } from "#enums/moves"; import { Species } from "#enums/species"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; -import { SPLASH_ONLY } from "../utils/testUtils"; +import { SPLASH_ONLY } from "#test/utils/testUtils"; describe("Ability Timing", () => { diff --git a/src/test/abilities/aura_break.test.ts b/src/test/abilities/aura_break.test.ts index 918905fc00a..a34475cb1ad 100644 --- a/src/test/abilities/aura_break.test.ts +++ b/src/test/abilities/aura_break.test.ts @@ -1,13 +1,13 @@ import { allMoves } from "#app/data/move.js"; import { MoveEffectPhase } from "#app/phases"; -import GameManager from "#app/test/utils/gameManager"; -import { getMovePosition } from "#app/test/utils/gameManagerUtils"; +import GameManager from "#test/utils/gameManager"; +import { getMovePosition } from "#test/utils/gameManagerUtils"; import { Abilities } from "#enums/abilities"; import { Moves } from "#enums/moves"; import { Species } from "#enums/species"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; -import { SPLASH_ONLY } from "../utils/testUtils"; +import { SPLASH_ONLY } from "#test/utils/testUtils"; describe("Abilities - Aura Break", () => { let phaserGame: Phaser.Game; diff --git a/src/test/abilities/battery.test.ts b/src/test/abilities/battery.test.ts index 9c3248f39c0..2345e63d987 100644 --- a/src/test/abilities/battery.test.ts +++ b/src/test/abilities/battery.test.ts @@ -1,13 +1,13 @@ import { allMoves } from "#app/data/move.js"; import { Abilities } from "#app/enums/abilities.js"; import { MoveEffectPhase, TurnEndPhase } from "#app/phases.js"; -import GameManager from "#app/test/utils/gameManager"; -import { getMovePosition } from "#app/test/utils/gameManagerUtils"; +import GameManager from "#test/utils/gameManager"; +import { getMovePosition } from "#test/utils/gameManagerUtils"; import { Moves } from "#enums/moves"; import { Species } from "#enums/species"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; -import { SPLASH_ONLY } from "../utils/testUtils"; +import { SPLASH_ONLY } from "#test/utils/testUtils"; describe("Abilities - Battery", () => { let phaserGame: Phaser.Game; diff --git a/src/test/abilities/costar.test.ts b/src/test/abilities/costar.test.ts index 1d58d899565..ef3fb3a2ab0 100644 --- a/src/test/abilities/costar.test.ts +++ b/src/test/abilities/costar.test.ts @@ -5,9 +5,9 @@ import { Species } from "#app/enums/species.js"; import { CommandPhase, MessagePhase } from "#app/phases.js"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, test } from "vitest"; -import GameManager from "../utils/gameManager"; -import { getMovePosition } from "../utils/gameManagerUtils"; -import { SPLASH_ONLY } from "../utils/testUtils"; +import GameManager from "#test/utils/gameManager"; +import { getMovePosition } from "#test/utils/gameManagerUtils"; +import { SPLASH_ONLY } from "#test/utils/testUtils"; const TIMEOUT = 20 * 1000; @@ -42,8 +42,6 @@ describe("Abilities - COSTAR", () => { await game.startBattle([Species.MAGIKARP, Species.MAGIKARP, Species.FLAMIGO]); let [leftPokemon, rightPokemon] = game.scene.getPlayerField(); - expect(leftPokemon).toBeDefined(); - expect(rightPokemon).toBeDefined(); game.doAttack(getMovePosition(game.scene, 0, Moves.NASTY_PLOT)); await game.phaseInterceptor.to(CommandPhase); @@ -73,8 +71,6 @@ describe("Abilities - COSTAR", () => { await game.startBattle([Species.MAGIKARP, Species.MAGIKARP, Species.FLAMIGO]); let [leftPokemon, rightPokemon] = game.scene.getPlayerField(); - expect(leftPokemon).toBeDefined(); - expect(rightPokemon).toBeDefined(); expect(leftPokemon.summonData.battleStats[BattleStat.ATK]).toBe(-2); expect(leftPokemon.summonData.battleStats[BattleStat.ATK]).toBe(-2); diff --git a/src/test/abilities/dry_skin.test.ts b/src/test/abilities/dry_skin.test.ts index 5434974c583..6da5ad08571 100644 --- a/src/test/abilities/dry_skin.test.ts +++ b/src/test/abilities/dry_skin.test.ts @@ -1,12 +1,12 @@ import { Species } from "#app/enums/species.js"; import { TurnEndPhase } from "#app/phases"; -import GameManager from "#app/test/utils/gameManager"; -import { getMovePosition } from "#app/test/utils/gameManagerUtils"; +import GameManager from "#test/utils/gameManager"; +import { getMovePosition } from "#test/utils/gameManagerUtils"; import { Abilities } from "#enums/abilities"; import { Moves } from "#enums/moves"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; -import { SPLASH_ONLY } from "../utils/testUtils"; +import { SPLASH_ONLY } from "#test/utils/testUtils"; describe("Abilities - Dry Skin", () => { let phaserGame: Phaser.Game; @@ -83,7 +83,6 @@ describe("Abilities - Dry Skin", () => { await game.startBattle(); const enemy = game.scene.getEnemyPokemon(); - expect(enemy).toBeDefined(); const initialHP = 1000; enemy.hp = initialHP; diff --git a/src/test/abilities/hustle.test.ts b/src/test/abilities/hustle.test.ts index 6d78846071d..63e54dfb157 100644 --- a/src/test/abilities/hustle.test.ts +++ b/src/test/abilities/hustle.test.ts @@ -2,13 +2,13 @@ import { allMoves } from "#app/data/move.js"; import { Abilities } from "#app/enums/abilities.js"; import { Stat } from "#app/enums/stat.js"; import { DamagePhase, MoveEffectPhase } from "#app/phases.js"; -import GameManager from "#app/test/utils/gameManager"; -import { getMovePosition } from "#app/test/utils/gameManagerUtils"; +import GameManager from "#test/utils/gameManager"; +import { getMovePosition } from "#test/utils/gameManagerUtils"; import { Moves } from "#enums/moves"; import { Species } from "#enums/species"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; -import { SPLASH_ONLY } from "../utils/testUtils"; +import { SPLASH_ONLY } from "#test/utils/testUtils"; describe("Abilities - Hustle", () => { let phaserGame: Phaser.Game; diff --git a/src/test/abilities/ice_face.test.ts b/src/test/abilities/ice_face.test.ts index ed04aa8bac2..a08a6a01b60 100644 --- a/src/test/abilities/ice_face.test.ts +++ b/src/test/abilities/ice_face.test.ts @@ -1,12 +1,7 @@ import { QuietFormChangePhase } from "#app/form-change-phase"; -import { - MoveEffectPhase, - MoveEndPhase, - TurnEndPhase, - TurnInitPhase, -} from "#app/phases"; -import GameManager from "#app/test/utils/gameManager"; -import { getMovePosition } from "#app/test/utils/gameManagerUtils"; +import { MoveEffectPhase, MoveEndPhase, TurnEndPhase, TurnInitPhase } from "#app/phases"; +import GameManager from "#test/utils/gameManager"; +import { getMovePosition } from "#test/utils/gameManagerUtils"; import { Abilities } from "#enums/abilities"; import { BattlerTagType } from "#enums/battler-tag-type"; import { Moves } from "#enums/moves"; diff --git a/src/test/abilities/intimidate.test.ts b/src/test/abilities/intimidate.test.ts index 959f53b2022..2c2b68bc5df 100644 --- a/src/test/abilities/intimidate.test.ts +++ b/src/test/abilities/intimidate.test.ts @@ -1,10 +1,9 @@ -import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; +import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; import Phaser from "phaser"; -import GameManager from "#app/test/utils/gameManager"; -import Overrides from "#app/overrides"; +import GameManager from "#test/utils/gameManager"; import { Mode } from "#app/ui/ui"; import { BattleStat } from "#app/data/battle-stat"; -import { generateStarter, getMovePosition } from "#app/test/utils/gameManagerUtils"; +import { generateStarter, getMovePosition } from "#test/utils/gameManagerUtils"; import { Command } from "#app/ui/command-ui-handler"; import { Status, StatusEffect } from "#app/data/status-effect"; import { GameModes, getGameMode } from "#app/game-mode"; @@ -12,6 +11,7 @@ import { CommandPhase, DamagePhase, EncounterPhase, EnemyCommandPhase, SelectSta import { Abilities } from "#enums/abilities"; import { Moves } from "#enums/moves"; import { Species } from "#enums/species"; +import { SPLASH_ONLY } from "#test/utils/testUtils"; describe("Abilities - Intimidate", () => { let phaserGame: Phaser.Game; @@ -35,7 +35,7 @@ describe("Abilities - Intimidate", () => { game.override.enemyPassiveAbility(Abilities.HYDRATION); game.override.ability(Abilities.INTIMIDATE); game.override.startingWave(3); - game.override.enemyMoveset([Moves.SPLASH, Moves.SPLASH, Moves.SPLASH, Moves.SPLASH]); + game.override.enemyMoveset(SPLASH_ONLY); }); it("single - wild with switch", async () => { @@ -294,7 +294,7 @@ describe("Abilities - Intimidate", () => { it("single - trainer should only trigger once whatever turn we are", async () => { game.override.moveset([Moves.SPLASH]); - game.override.enemyMoveset([Moves.SPLASH, Moves.SPLASH, Moves.SPLASH, Moves.SPLASH]); + game.override.enemyMoveset(SPLASH_ONLY); game.override.startingWave(5); await game.startBattle([Species.MIGHTYENA, Species.POOCHYENA]); let battleStatsOpponent = game.scene.currentBattle.enemyParty[0].summonData.battleStats; @@ -334,7 +334,6 @@ describe("Abilities - Intimidate", () => { it("double - wild vs only 1 on player side", async () => { game.override.battleType("double"); game.override.startingWave(3); - vi.spyOn(Overrides, "OPP_HELD_ITEMS_OVERRIDE", "get").mockReturnValue([{ name: "COIN_CASE" }]); await game.runToSummon([Species.MIGHTYENA]); await game.phaseInterceptor.to(CommandPhase, false); const battleStatsOpponent = game.scene.currentBattle.enemyParty[0].summonData.battleStats; diff --git a/src/test/abilities/intrepid_sword.test.ts b/src/test/abilities/intrepid_sword.test.ts index 5292bcd7c82..bc83c9bb44b 100644 --- a/src/test/abilities/intrepid_sword.test.ts +++ b/src/test/abilities/intrepid_sword.test.ts @@ -1,8 +1,6 @@ import { BattleStat } from "#app/data/battle-stat"; -import { - CommandPhase, -} from "#app/phases"; -import GameManager from "#app/test/utils/gameManager"; +import { CommandPhase } from "#app/phases"; +import GameManager from "#test/utils/gameManager"; import { Abilities } from "#enums/abilities"; import { Species } from "#enums/species"; import Phaser from "phaser"; diff --git a/src/test/abilities/libero.test.ts b/src/test/abilities/libero.test.ts index 58e67a6ebe6..c38ec082169 100644 --- a/src/test/abilities/libero.test.ts +++ b/src/test/abilities/libero.test.ts @@ -10,9 +10,9 @@ import { Moves } from "#enums/moves"; import { Species } from "#enums/species"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, test, vi } from "vitest"; -import GameManager from "../utils/gameManager"; -import { getMovePosition } from "../utils/gameManagerUtils"; -import { SPLASH_ONLY } from "../utils/testUtils"; +import GameManager from "#test/utils/gameManager"; +import { getMovePosition } from "#test/utils/gameManagerUtils"; +import { SPLASH_ONLY } from "#test/utils/testUtils"; const TIMEOUT = 20 * 1000; diff --git a/src/test/abilities/magic_guard.test.ts b/src/test/abilities/magic_guard.test.ts index 60a3cda3b08..18e28284f72 100644 --- a/src/test/abilities/magic_guard.test.ts +++ b/src/test/abilities/magic_guard.test.ts @@ -1,17 +1,17 @@ import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; import Phaser from "phaser"; -import GameManager from "#app/test/utils/gameManager"; -import overrides from "#app/overrides"; +import GameManager from "#test/utils/gameManager"; import { Species } from "#enums/species"; import { TurnEndPhase, MoveEffectPhase } from "#app/phases"; import { Moves } from "#enums/moves"; import { ArenaTagType } from "#enums/arena-tag-type"; import { ArenaTagSide, getArenaTag } from "#app/data/arena-tag"; -import { getMovePosition } from "#app/test/utils/gameManagerUtils"; +import { getMovePosition } from "#test/utils/gameManagerUtils"; import { Abilities } from "#enums/abilities"; import { WeatherType } from "#app/data/weather.js"; import { StatusEffect, getStatusEffectCatchRateMultiplier } from "#app/data/status-effect"; import { BattlerTagType } from "#enums/battler-tag-type"; +import { SPLASH_ONLY } from "#test/utils/testUtils"; const TIMEOUT = 20 * 1000; // 20 sec timeout @@ -33,16 +33,15 @@ describe("Abilities - Magic Guard", () => { game = new GameManager(phaserGame); /** Player Pokemon overrides */ - vi.spyOn(overrides, "ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.MAGIC_GUARD); - vi.spyOn(overrides, "PASSIVE_ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.UNNERVE); - vi.spyOn(overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([Moves.SPLASH]); - vi.spyOn(overrides, "STARTING_LEVEL_OVERRIDE", "get").mockReturnValue(100); + game.override.ability(Abilities.MAGIC_GUARD); + game.override.moveset([Moves.SPLASH]); + game.override.startingLevel(100); /** Enemy Pokemon overrides */ - vi.spyOn(overrides, "OPP_SPECIES_OVERRIDE", "get").mockReturnValue(Species.SNORLAX); - vi.spyOn(overrides, "OPP_ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.INSOMNIA); - vi.spyOn(overrides, "OPP_MOVESET_OVERRIDE", "get").mockReturnValue([Moves.SPLASH, Moves.SPLASH, Moves.SPLASH, Moves.SPLASH]); - vi.spyOn(overrides, "OPP_LEVEL_OVERRIDE", "get").mockReturnValue(100); + game.override.enemySpecies(Species.SNORLAX); + game.override.enemyAbility(Abilities.INSOMNIA); + game.override.enemyMoveset(SPLASH_ONLY); + game.override.enemyLevel(100); }); //Bulbapedia Reference: https://bulbapedia.bulbagarden.net/wiki/Magic_Guard_(Ability) @@ -50,15 +49,13 @@ describe("Abilities - Magic Guard", () => { it( "ability should prevent damage caused by weather", async () => { - vi.spyOn(overrides, "WEATHER_OVERRIDE", "get").mockReturnValue(WeatherType.SANDSTORM); + game.override.weather(WeatherType.SANDSTORM); await game.startBattle([Species.MAGIKARP]); const leadPokemon = game.scene.getPlayerPokemon(); - expect(leadPokemon).toBeDefined(); const enemyPokemon = game.scene.getEnemyPokemon(); - expect(enemyPokemon).toBeDefined(); game.doAttack(getMovePosition(game.scene, 0, Moves.SPLASH)); @@ -78,15 +75,11 @@ describe("Abilities - Magic Guard", () => { "ability should prevent damage caused by status effects but other non-damage effects still apply", async () => { //Toxic keeps track of the turn counters -> important that Magic Guard keeps track of post-Toxic turns - vi.spyOn(overrides, "STATUS_OVERRIDE", "get").mockReturnValue(StatusEffect.POISON); + game.override.statusEffect(StatusEffect.POISON); await game.startBattle([Species.MAGIKARP]); const leadPokemon = game.scene.getPlayerPokemon(); - expect(leadPokemon).toBeDefined(); - - const enemyPokemon = game.scene.getEnemyPokemon(); - expect(enemyPokemon).toBeDefined(); game.doAttack(getMovePosition(game.scene, 0, Moves.SPLASH)); @@ -105,16 +98,12 @@ describe("Abilities - Magic Guard", () => { it( "ability effect should not persist when the ability is replaced", async () => { - vi.spyOn(overrides, "OPP_MOVESET_OVERRIDE", "get").mockReturnValue([Moves.WORRY_SEED,Moves.WORRY_SEED,Moves.WORRY_SEED,Moves.WORRY_SEED]); - vi.spyOn(overrides, "STATUS_OVERRIDE", "get").mockReturnValue(StatusEffect.POISON); + game.override.enemyMoveset([Moves.WORRY_SEED,Moves.WORRY_SEED,Moves.WORRY_SEED,Moves.WORRY_SEED]); + game.override.statusEffect(StatusEffect.POISON); await game.startBattle([Species.MAGIKARP]); const leadPokemon = game.scene.getPlayerPokemon(); - expect(leadPokemon).toBeDefined(); - - const enemyPokemon = game.scene.getEnemyPokemon(); - expect(enemyPokemon).toBeDefined(); game.doAttack(getMovePosition(game.scene, 0, Moves.SPLASH)); @@ -131,18 +120,14 @@ describe("Abilities - Magic Guard", () => { it("Magic Guard prevents damage caused by burn but other non-damaging effects are still applied", async () => { - vi.spyOn(overrides, "OPP_STATUS_OVERRIDE", "get").mockReturnValue(StatusEffect.BURN); - vi.spyOn(overrides, "OPP_ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.MAGIC_GUARD); + game.override.enemyStatusEffect(StatusEffect.BURN); + game.override.enemyAbility(Abilities.MAGIC_GUARD); await game.startBattle([Species.MAGIKARP]); - const leadPokemon = game.scene.getPlayerPokemon(); - expect (leadPokemon).toBeDefined(); - game.doAttack(getMovePosition(game.scene, 0, Moves.SPLASH)); const enemyPokemon = game.scene.getEnemyPokemon(); - expect(enemyPokemon).toBeDefined(); await game.phaseInterceptor.to(TurnEndPhase); @@ -159,18 +144,14 @@ describe("Abilities - Magic Guard", () => { it("Magic Guard prevents damage caused by toxic but other non-damaging effects are still applied", async () => { - vi.spyOn(overrides, "OPP_STATUS_OVERRIDE", "get").mockReturnValue(StatusEffect.TOXIC); - vi.spyOn(overrides, "OPP_ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.MAGIC_GUARD); + game.override.enemyStatusEffect(StatusEffect.TOXIC); + game.override.enemyAbility(Abilities.MAGIC_GUARD); await game.startBattle([Species.MAGIKARP]); - const leadPokemon = game.scene.getPlayerPokemon(); - expect (leadPokemon).toBeDefined(); - game.doAttack(getMovePosition(game.scene, 0, Moves.SPLASH)); const enemyPokemon = game.scene.getEnemyPokemon(); - expect(enemyPokemon).toBeDefined(); const toxicStartCounter = enemyPokemon.status.turnCount; //should be 0 @@ -197,12 +178,10 @@ describe("Abilities - Magic Guard", () => { await game.startBattle([Species.MAGIKARP]); const leadPokemon = game.scene.getPlayerPokemon(); - expect(leadPokemon).toBeDefined(); game.doAttack(getMovePosition(game.scene, 0, Moves.SPLASH)); const enemyPokemon = game.scene.getEnemyPokemon(); - expect(enemyPokemon).toBeDefined(); await game.phaseInterceptor.to(TurnEndPhase); @@ -225,12 +204,10 @@ describe("Abilities - Magic Guard", () => { await game.startBattle([Species.MAGIKARP]); const leadPokemon = game.scene.getPlayerPokemon(); - expect(leadPokemon).toBeDefined(); game.doAttack(getMovePosition(game.scene, 0, Moves.SPLASH)); const enemyPokemon = game.scene.getEnemyPokemon(); - expect(enemyPokemon).toBeDefined(); await game.phaseInterceptor.to(TurnEndPhase); @@ -250,16 +227,14 @@ describe("Abilities - Magic Guard", () => { it("Magic Guard prevents against damage from volatile status effects", async () => { await game.startBattle([Species.DUSKULL]); - vi.spyOn(overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([Moves.CURSE]); - vi.spyOn(overrides, "OPP_ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.MAGIC_GUARD); + game.override.moveset([Moves.CURSE]); + game.override.enemyAbility(Abilities.MAGIC_GUARD); const leadPokemon = game.scene.getPlayerPokemon(); - expect (leadPokemon).toBeDefined(); game.doAttack(getMovePosition(game.scene, 0, Moves.CURSE)); const enemyPokemon = game.scene.getEnemyPokemon(); - expect(enemyPokemon).toBeDefined(); await game.phaseInterceptor.to(TurnEndPhase); @@ -276,11 +251,10 @@ describe("Abilities - Magic Guard", () => { ); it("Magic Guard prevents crash damage", async () => { - vi.spyOn(overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([Moves.HIGH_JUMP_KICK]); + game.override.moveset([Moves.HIGH_JUMP_KICK]); await game.startBattle([Species.MAGIKARP]); const leadPokemon = game.scene.getPlayerPokemon(); - expect(leadPokemon).toBeDefined(); game.doAttack(getMovePosition(game.scene, 0, Moves.HIGH_JUMP_KICK)); await game.phaseInterceptor.to(MoveEffectPhase, false); @@ -297,11 +271,10 @@ describe("Abilities - Magic Guard", () => { ); it("Magic Guard prevents damage from recoil", async () => { - vi.spyOn(overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([Moves.TAKE_DOWN]); + game.override.moveset([Moves.TAKE_DOWN]); await game.startBattle([Species.MAGIKARP]); const leadPokemon = game.scene.getPlayerPokemon(); - expect(leadPokemon).toBeDefined(); game.doAttack(getMovePosition(game.scene, 0, Moves.TAKE_DOWN)); @@ -316,11 +289,10 @@ describe("Abilities - Magic Guard", () => { ); it("Magic Guard does not prevent damage from Struggle's recoil", async () => { - vi.spyOn(overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([Moves.STRUGGLE]); + game.override.moveset([Moves.STRUGGLE]); await game.startBattle([Species.MAGIKARP]); const leadPokemon = game.scene.getPlayerPokemon(); - expect(leadPokemon).toBeDefined(); game.doAttack(getMovePosition(game.scene, 0, Moves.STRUGGLE)); @@ -336,11 +308,10 @@ describe("Abilities - Magic Guard", () => { //This tests different move attributes than the recoil tests above it("Magic Guard prevents self-damage from attacking moves", async () => { - vi.spyOn(overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([Moves.STEEL_BEAM]); + game.override.moveset([Moves.STEEL_BEAM]); await game.startBattle([Species.MAGIKARP]); const leadPokemon = game.scene.getPlayerPokemon(); - expect(leadPokemon).toBeDefined(); game.doAttack(getMovePosition(game.scene, 0, Moves.STEEL_BEAM)); @@ -365,11 +336,10 @@ describe("Abilities - Magic Guard", () => { */ it("Magic Guard does not prevent self-damage from non-attacking moves", async () => { - vi.spyOn(overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([Moves.BELLY_DRUM]); + game.override.moveset([Moves.BELLY_DRUM]); await game.startBattle([Species.MAGIKARP]); const leadPokemon = game.scene.getPlayerPokemon(); - expect(leadPokemon).toBeDefined(); game.doAttack(getMovePosition(game.scene, 0, Moves.BELLY_DRUM)); @@ -385,15 +355,14 @@ describe("Abilities - Magic Guard", () => { it("Magic Guard prevents damage from abilities with PostTurnHurtIfSleepingAbAttr", async() => { //Tests the ability Bad Dreams - vi.spyOn(overrides, "STATUS_OVERRIDE", "get").mockReturnValue(StatusEffect.SLEEP); + game.override.statusEffect(StatusEffect.SLEEP); //enemy pokemon is given Spore just in case player pokemon somehow awakens during test - vi.spyOn(overrides, "OPP_MOVESET_OVERRIDE", "get").mockReturnValue([Moves.SPORE, Moves.SPORE, Moves.SPORE, Moves.SPORE]); - vi.spyOn(overrides, "OPP_ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.BAD_DREAMS); + game.override.enemyMoveset([Moves.SPORE, Moves.SPORE, Moves.SPORE, Moves.SPORE]); + game.override.enemyAbility(Abilities.BAD_DREAMS); await game.startBattle([Species.MAGIKARP]); const leadPokemon = game.scene.getPlayerPokemon(); - expect(leadPokemon).toBeDefined(); game.doAttack(getMovePosition(game.scene, 0, Moves.SPLASH)); @@ -411,16 +380,14 @@ describe("Abilities - Magic Guard", () => { it("Magic Guard prevents damage from abilities with PostFaintContactDamageAbAttr", async() => { //Tests the abilities Innards Out/Aftermath - vi.spyOn(overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([Moves.TACKLE]); - vi.spyOn(overrides, "OPP_ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.AFTERMATH); + game.override.moveset([Moves.TACKLE]); + game.override.enemyAbility(Abilities.AFTERMATH); await game.startBattle([Species.MAGIKARP]); const leadPokemon = game.scene.getPlayerPokemon(); - expect(leadPokemon).toBeDefined(); const enemyPokemon = game.scene.getEnemyPokemon(); - expect(enemyPokemon).toBeDefined(); enemyPokemon.hp = 1; game.doAttack(getMovePosition(game.scene, 0, Moves.TACKLE)); @@ -438,16 +405,14 @@ describe("Abilities - Magic Guard", () => { it("Magic Guard prevents damage from abilities with PostDefendContactDamageAbAttr", async() => { //Tests the abilities Iron Barbs/Rough Skin - vi.spyOn(overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([Moves.TACKLE]); - vi.spyOn(overrides, "OPP_ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.IRON_BARBS); + game.override.moveset([Moves.TACKLE]); + game.override.enemyAbility(Abilities.IRON_BARBS); await game.startBattle([Species.MAGIKARP]); const leadPokemon = game.scene.getPlayerPokemon(); - expect(leadPokemon).toBeDefined(); const enemyPokemon = game.scene.getEnemyPokemon(); - expect(enemyPokemon).toBeDefined(); game.doAttack(getMovePosition(game.scene, 0, Moves.TACKLE)); await game.phaseInterceptor.to(TurnEndPhase); @@ -464,16 +429,14 @@ describe("Abilities - Magic Guard", () => { it("Magic Guard prevents damage from abilities with ReverseDrainAbAttr", async() => { //Tests the ability Liquid Ooze - vi.spyOn(overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([Moves.ABSORB]); - vi.spyOn(overrides, "OPP_ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.LIQUID_OOZE); + game.override.moveset([Moves.ABSORB]); + game.override.enemyAbility(Abilities.LIQUID_OOZE); await game.startBattle([Species.MAGIKARP]); const leadPokemon = game.scene.getPlayerPokemon(); - expect(leadPokemon).toBeDefined(); const enemyPokemon = game.scene.getEnemyPokemon(); - expect(enemyPokemon).toBeDefined(); game.doAttack(getMovePosition(game.scene, 0, Moves.ABSORB)); await game.phaseInterceptor.to(TurnEndPhase); @@ -490,12 +453,11 @@ describe("Abilities - Magic Guard", () => { it("Magic Guard prevents HP loss from abilities with PostWeatherLapseDamageAbAttr", async() => { //Tests the abilities Solar Power/Dry Skin - vi.spyOn(overrides, "PASSIVE_ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.SOLAR_POWER); - vi.spyOn(overrides, "WEATHER_OVERRIDE", "get").mockReturnValue(WeatherType.SUNNY); + game.override.passiveAbility(Abilities.SOLAR_POWER); + game.override.weather(WeatherType.SUNNY); await game.startBattle([Species.MAGIKARP]); const leadPokemon = game.scene.getPlayerPokemon(); - expect(leadPokemon).toBeDefined(); game.doAttack(getMovePosition(game.scene, 0, Moves.SPLASH)); await game.phaseInterceptor.to(TurnEndPhase); diff --git a/src/test/abilities/moxie.test.ts b/src/test/abilities/moxie.test.ts index 469a4e2947f..f99068dea41 100644 --- a/src/test/abilities/moxie.test.ts +++ b/src/test/abilities/moxie.test.ts @@ -1,12 +1,8 @@ import { BattleStat } from "#app/data/battle-stat"; import { Stat } from "#app/data/pokemon-stat"; -import { - CommandPhase, - EnemyCommandPhase, - VictoryPhase -} from "#app/phases"; -import GameManager from "#app/test/utils/gameManager"; -import { getMovePosition } from "#app/test/utils/gameManagerUtils"; +import { CommandPhase, EnemyCommandPhase, VictoryPhase } from "#app/phases"; +import GameManager from "#test/utils/gameManager"; +import { getMovePosition } from "#test/utils/gameManagerUtils"; import { Command } from "#app/ui/command-ui-handler"; import { Mode } from "#app/ui/ui"; import { Abilities } from "#enums/abilities"; diff --git a/src/test/abilities/parental_bond.test.ts b/src/test/abilities/parental_bond.test.ts index bc7be2fae96..45d65fca083 100644 --- a/src/test/abilities/parental_bond.test.ts +++ b/src/test/abilities/parental_bond.test.ts @@ -8,9 +8,9 @@ import { Moves } from "#enums/moves"; import { Species } from "#enums/species"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, test, vi } from "vitest"; -import GameManager from "../utils/gameManager"; -import { getMovePosition } from "../utils/gameManagerUtils"; -import { SPLASH_ONLY } from "../utils/testUtils"; +import GameManager from "#test/utils/gameManager"; +import { getMovePosition } from "#test/utils/gameManagerUtils"; +import { SPLASH_ONLY } from "#test/utils/testUtils"; const TIMEOUT = 20 * 1000; diff --git a/src/test/abilities/pastel_veil.test.ts b/src/test/abilities/pastel_veil.test.ts index f19b395677f..8035d54a7e5 100644 --- a/src/test/abilities/pastel_veil.test.ts +++ b/src/test/abilities/pastel_veil.test.ts @@ -1,14 +1,10 @@ import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; import Phaser from "phaser"; -import GameManager from "#app/test/utils/gameManager"; -import overrides from "#app/overrides"; +import GameManager from "#test/utils/gameManager"; import { Species } from "#enums/species"; -import { - CommandPhase, - TurnEndPhase, -} from "#app/phases"; +import { CommandPhase, TurnEndPhase } from "#app/phases"; import { Moves } from "#enums/moves"; -import { getMovePosition } from "#app/test/utils/gameManagerUtils"; +import { getMovePosition } from "#test/utils/gameManagerUtils"; import { StatusEffect } from "#app/data/status-effect.js"; import { allAbilities } from "#app/data/ability.js"; import { Abilities } from "#app/enums/abilities.js"; @@ -30,11 +26,11 @@ describe("Abilities - Pastel Veil", () => { beforeEach(() => { game = new GameManager(phaserGame); - vi.spyOn(overrides, "BATTLE_TYPE_OVERRIDE", "get").mockReturnValue("double"); - vi.spyOn(overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([Moves.SPLASH]); - vi.spyOn(overrides, "OPP_ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.BALL_FETCH); - vi.spyOn(overrides, "OPP_SPECIES_OVERRIDE", "get").mockReturnValue(Species.MAGIKARP); - vi.spyOn(overrides, "OPP_MOVESET_OVERRIDE", "get").mockReturnValue([Moves.TOXIC_THREAD, Moves.TOXIC_THREAD, Moves.TOXIC_THREAD, Moves.TOXIC_THREAD]); + game.override.battleType("double"); + game.override.moveset([Moves.SPLASH]); + game.override.enemyAbility(Abilities.BALL_FETCH); + game.override.enemySpecies(Species.MAGIKARP); + game.override.enemyMoveset([Moves.TOXIC_THREAD, Moves.TOXIC_THREAD, Moves.TOXIC_THREAD, Moves.TOXIC_THREAD]); }); it("prevents the user and its allies from being afflicted by poison", async () => { diff --git a/src/test/abilities/power_spot.test.ts b/src/test/abilities/power_spot.test.ts index 441b405fd06..368f8a48110 100644 --- a/src/test/abilities/power_spot.test.ts +++ b/src/test/abilities/power_spot.test.ts @@ -1,13 +1,13 @@ import { allMoves } from "#app/data/move.js"; import { Abilities } from "#app/enums/abilities.js"; import { MoveEffectPhase, TurnEndPhase } from "#app/phases.js"; -import GameManager from "#app/test/utils/gameManager"; -import { getMovePosition } from "#app/test/utils/gameManagerUtils"; +import GameManager from "#test/utils/gameManager"; +import { getMovePosition } from "#test/utils/gameManagerUtils"; import { Moves } from "#enums/moves"; import { Species } from "#enums/species"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; -import { SPLASH_ONLY } from "../utils/testUtils"; +import { SPLASH_ONLY } from "#test/utils/testUtils"; describe("Abilities - Power Spot", () => { let phaserGame: Phaser.Game; diff --git a/src/test/abilities/protean.test.ts b/src/test/abilities/protean.test.ts index d02c87662cf..7c6cca2eccd 100644 --- a/src/test/abilities/protean.test.ts +++ b/src/test/abilities/protean.test.ts @@ -10,9 +10,9 @@ import { Moves } from "#enums/moves"; import { Species } from "#enums/species"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, test, vi } from "vitest"; -import GameManager from "../utils/gameManager"; -import { getMovePosition } from "../utils/gameManagerUtils"; -import { SPLASH_ONLY } from "../utils/testUtils"; +import GameManager from "#test/utils/gameManager"; +import { getMovePosition } from "#test/utils/gameManagerUtils"; +import { SPLASH_ONLY } from "#test/utils/testUtils"; const TIMEOUT = 20 * 1000; diff --git a/src/test/abilities/quick_draw.test.ts b/src/test/abilities/quick_draw.test.ts index e6177639bac..56f21cab838 100644 --- a/src/test/abilities/quick_draw.test.ts +++ b/src/test/abilities/quick_draw.test.ts @@ -1,7 +1,7 @@ import { allAbilities, BypassSpeedChanceAbAttr } from "#app/data/ability"; import { FaintPhase } from "#app/phases"; -import GameManager from "#app/test/utils/gameManager"; -import { getMovePosition } from "#app/test/utils/gameManagerUtils"; +import GameManager from "#test/utils/gameManager"; +import { getMovePosition } from "#test/utils/gameManagerUtils"; import { Abilities } from "#enums/abilities"; import { Moves } from "#enums/moves"; import { Species } from "#enums/species"; diff --git a/src/test/abilities/sand_spit.test.ts b/src/test/abilities/sand_spit.test.ts index de75ba833dd..dacfe7ad27e 100644 --- a/src/test/abilities/sand_spit.test.ts +++ b/src/test/abilities/sand_spit.test.ts @@ -1,10 +1,10 @@ -import GameManager from "#app/test/utils/gameManager"; +import GameManager from "#test/utils/gameManager"; import { Abilities } from "#enums/abilities"; import { Moves } from "#enums/moves"; import { Species } from "#enums/species"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; -import { getMovePosition } from "../utils/gameManagerUtils"; +import { getMovePosition } from "#test/utils/gameManagerUtils"; import { WeatherType } from "#app/enums/weather-type.js"; diff --git a/src/test/abilities/sand_veil.test.ts b/src/test/abilities/sand_veil.test.ts index 4394df3ce97..6aab362634a 100644 --- a/src/test/abilities/sand_veil.test.ts +++ b/src/test/abilities/sand_veil.test.ts @@ -7,8 +7,8 @@ import { Moves } from "#enums/moves"; import { Species } from "#enums/species"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, test, vi } from "vitest"; -import GameManager from "../utils/gameManager"; -import { getMovePosition } from "../utils/gameManagerUtils"; +import GameManager from "#test/utils/gameManager"; +import { getMovePosition } from "#test/utils/gameManagerUtils"; const TIMEOUT = 20 * 1000; @@ -45,10 +45,6 @@ describe("Abilities - Sand Veil", () => { await game.startBattle([Species.SNORLAX, Species.BLISSEY]); const leadPokemon = game.scene.getPlayerField(); - leadPokemon.forEach(p => expect(p).toBeDefined()); - - const enemyPokemon = game.scene.getEnemyField(); - enemyPokemon.forEach(p => expect(p).toBeDefined()); vi.spyOn(leadPokemon[0], "getAbility").mockReturnValue(allAbilities[Abilities.SAND_VEIL]); diff --git a/src/test/abilities/sap_sipper.test.ts b/src/test/abilities/sap_sipper.test.ts index 2ed1df05652..20a677a3244 100644 --- a/src/test/abilities/sap_sipper.test.ts +++ b/src/test/abilities/sap_sipper.test.ts @@ -1,10 +1,8 @@ import { BattleStat } from "#app/data/battle-stat.js"; import { TerrainType } from "#app/data/terrain.js"; -import { - MoveEndPhase, TurnEndPhase, -} from "#app/phases"; -import GameManager from "#app/test/utils/gameManager"; -import { getMovePosition } from "#app/test/utils/gameManagerUtils"; +import { MoveEndPhase, TurnEndPhase } from "#app/phases"; +import GameManager from "#test/utils/gameManager"; +import { getMovePosition } from "#test/utils/gameManagerUtils"; import { Abilities } from "#enums/abilities"; import { BattlerTagType } from "#enums/battler-tag-type"; import { Moves } from "#enums/moves"; diff --git a/src/test/abilities/screen_cleaner.test.ts b/src/test/abilities/screen_cleaner.test.ts index 2d2dc70b907..a73f56dd3eb 100644 --- a/src/test/abilities/screen_cleaner.test.ts +++ b/src/test/abilities/screen_cleaner.test.ts @@ -1,7 +1,7 @@ import { ArenaTagType } from "#app/enums/arena-tag-type.js"; import { PostSummonPhase, TurnEndPhase, } from "#app/phases"; -import GameManager from "#app/test/utils/gameManager"; -import { getMovePosition } from "#app/test/utils/gameManagerUtils"; +import GameManager from "#test/utils/gameManager"; +import { getMovePosition } from "#test/utils/gameManagerUtils"; import { Abilities } from "#enums/abilities"; import { Moves } from "#enums/moves"; import { Species } from "#enums/species"; diff --git a/src/test/abilities/serene_grace.test.ts b/src/test/abilities/serene_grace.test.ts index 13da444454e..25ffc2ed2c6 100644 --- a/src/test/abilities/serene_grace.test.ts +++ b/src/test/abilities/serene_grace.test.ts @@ -1,11 +1,8 @@ import { applyAbAttrs, MoveEffectChanceMultiplierAbAttr } from "#app/data/ability"; import { Stat } from "#app/data/pokemon-stat"; -import { - CommandPhase, - MoveEffectPhase, -} from "#app/phases"; -import GameManager from "#app/test/utils/gameManager"; -import { getMovePosition } from "#app/test/utils/gameManagerUtils"; +import { CommandPhase, MoveEffectPhase } from "#app/phases"; +import GameManager from "#test/utils/gameManager"; +import { getMovePosition } from "#test/utils/gameManagerUtils"; import { Command } from "#app/ui/command-ui-handler"; import { Mode } from "#app/ui/ui"; import * as Utils from "#app/utils"; diff --git a/src/test/abilities/sheer_force.test.ts b/src/test/abilities/sheer_force.test.ts index 1e7657611a1..8d315e3caad 100644 --- a/src/test/abilities/sheer_force.test.ts +++ b/src/test/abilities/sheer_force.test.ts @@ -1,11 +1,8 @@ import { applyAbAttrs, applyPostDefendAbAttrs, applyPreAttackAbAttrs, MoveEffectChanceMultiplierAbAttr, MovePowerBoostAbAttr, PostDefendTypeChangeAbAttr } from "#app/data/ability"; import { Stat } from "#app/data/pokemon-stat"; -import { - CommandPhase, - MoveEffectPhase, -} from "#app/phases"; -import GameManager from "#app/test/utils/gameManager"; -import { getMovePosition } from "#app/test/utils/gameManagerUtils"; +import { CommandPhase, MoveEffectPhase } from "#app/phases"; +import GameManager from "#test/utils/gameManager"; +import { getMovePosition } from "#test/utils/gameManagerUtils"; import { Command } from "#app/ui/command-ui-handler"; import { Mode } from "#app/ui/ui"; import * as Utils from "#app/utils"; diff --git a/src/test/abilities/shield_dust.test.ts b/src/test/abilities/shield_dust.test.ts index 35e4015e8bc..6050e6d4c9a 100644 --- a/src/test/abilities/shield_dust.test.ts +++ b/src/test/abilities/shield_dust.test.ts @@ -1,11 +1,8 @@ import { applyAbAttrs, applyPreDefendAbAttrs, IgnoreMoveEffectsAbAttr, MoveEffectChanceMultiplierAbAttr } from "#app/data/ability"; import { Stat } from "#app/data/pokemon-stat"; -import { - CommandPhase, - MoveEffectPhase, -} from "#app/phases"; -import GameManager from "#app/test/utils/gameManager"; -import { getMovePosition } from "#app/test/utils/gameManagerUtils"; +import { CommandPhase, MoveEffectPhase } from "#app/phases"; +import GameManager from "#test/utils/gameManager"; +import { getMovePosition } from "#test/utils/gameManagerUtils"; import { Command } from "#app/ui/command-ui-handler"; import { Mode } from "#app/ui/ui"; import * as Utils from "#app/utils"; diff --git a/src/test/abilities/steely_spirit.test.ts b/src/test/abilities/steely_spirit.test.ts index 7ac78eb11fa..e21067539df 100644 --- a/src/test/abilities/steely_spirit.test.ts +++ b/src/test/abilities/steely_spirit.test.ts @@ -2,13 +2,13 @@ import { allAbilities } from "#app/data/ability.js"; import { allMoves } from "#app/data/move.js"; import { Abilities } from "#app/enums/abilities.js"; import { MoveEffectPhase, SelectTargetPhase } from "#app/phases.js"; -import GameManager from "#app/test/utils/gameManager"; -import { getMovePosition } from "#app/test/utils/gameManagerUtils"; +import GameManager from "#test/utils/gameManager"; +import { getMovePosition } from "#test/utils/gameManagerUtils"; import { Moves } from "#enums/moves"; import { Species } from "#enums/species"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; -import { SPLASH_ONLY } from "../utils/testUtils"; +import { SPLASH_ONLY } from "#test/utils/testUtils"; describe("Abilities - Steely Spirit", () => { let phaserGame: Phaser.Game; diff --git a/src/test/abilities/sturdy.test.ts b/src/test/abilities/sturdy.test.ts index 9bfb3bd0085..4caa7b0bd14 100644 --- a/src/test/abilities/sturdy.test.ts +++ b/src/test/abilities/sturdy.test.ts @@ -1,10 +1,7 @@ import { EnemyPokemon } from "#app/field/pokemon.js"; -import { - DamagePhase, - MoveEndPhase, -} from "#app/phases"; -import GameManager from "#app/test/utils/gameManager"; -import { getMovePosition } from "#app/test/utils/gameManagerUtils"; +import { DamagePhase, MoveEndPhase } from "#app/phases"; +import GameManager from "#test/utils/gameManager"; +import { getMovePosition } from "#test/utils/gameManagerUtils"; import { Abilities } from "#enums/abilities"; import { Moves } from "#enums/moves"; import { Species } from "#enums/species"; diff --git a/src/test/abilities/sweet_veil.test.ts b/src/test/abilities/sweet_veil.test.ts index 5a8022958ad..19c1210b443 100644 --- a/src/test/abilities/sweet_veil.test.ts +++ b/src/test/abilities/sweet_veil.test.ts @@ -1,19 +1,14 @@ import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; import Phaser from "phaser"; -import GameManager from "#app/test/utils/gameManager"; -import overrides from "#app/overrides"; +import GameManager from "#test/utils/gameManager"; import { Species } from "#enums/species"; -import { - CommandPhase, - MoveEffectPhase, - MovePhase, - TurnEndPhase, -} from "#app/phases"; +import { CommandPhase, MoveEffectPhase, MovePhase, TurnEndPhase } from "#app/phases"; import { Moves } from "#enums/moves"; -import { getMovePosition } from "#app/test/utils/gameManagerUtils"; +import { getMovePosition } from "#test/utils/gameManagerUtils"; import { BattlerTagType } from "#app/enums/battler-tag-type.js"; import { Abilities } from "#app/enums/abilities.js"; import { BattlerIndex } from "#app/battle.js"; +import { SPLASH_ONLY } from "#test/utils/testUtils"; describe("Abilities - Sweet Veil", () => { let phaserGame: Phaser.Game; @@ -31,11 +26,11 @@ describe("Abilities - Sweet Veil", () => { beforeEach(() => { game = new GameManager(phaserGame); - vi.spyOn(overrides, "BATTLE_TYPE_OVERRIDE", "get").mockReturnValue("double"); - vi.spyOn(overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([Moves.SPLASH, Moves.REST]); - vi.spyOn(overrides, "OPP_SPECIES_OVERRIDE", "get").mockReturnValue(Species.MAGIKARP); - vi.spyOn(overrides, "OPP_ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.BALL_FETCH); - vi.spyOn(overrides, "OPP_MOVESET_OVERRIDE", "get").mockReturnValue([Moves.POWDER, Moves.POWDER, Moves.POWDER, Moves.POWDER]); + game.override.battleType("double"); + game.override.moveset([Moves.SPLASH, Moves.REST]); + game.override.enemySpecies(Species.MAGIKARP); + game.override.enemyAbility(Abilities.BALL_FETCH); + game.override.enemyMoveset([Moves.POWDER, Moves.POWDER, Moves.POWDER, Moves.POWDER]); }); it("prevents the user and its allies from falling asleep", async () => { @@ -50,7 +45,7 @@ describe("Abilities - Sweet Veil", () => { }); it("causes Rest to fail when used by the user or its allies", async () => { - vi.spyOn(overrides, "OPP_MOVESET_OVERRIDE", "get").mockReturnValue([Moves.SPLASH, Moves.SPLASH, Moves.SPLASH, Moves.SPLASH]); + game.override.enemyMoveset(SPLASH_ONLY); await game.startBattle([Species.SWIRLIX, Species.MAGIKARP]); game.doAttack(getMovePosition(game.scene, 0, Moves.SPLASH)); @@ -62,7 +57,7 @@ describe("Abilities - Sweet Veil", () => { }); it("causes Yawn to fail if used on the user or its allies", async () => { - vi.spyOn(overrides, "OPP_MOVESET_OVERRIDE", "get").mockReturnValue([Moves.YAWN, Moves.YAWN, Moves.YAWN, Moves.YAWN]); + game.override.enemyMoveset([Moves.YAWN, Moves.YAWN, Moves.YAWN, Moves.YAWN]); await game.startBattle([Species.SWIRLIX, Species.MAGIKARP]); game.doAttack(getMovePosition(game.scene, 0, Moves.SPLASH)); @@ -74,10 +69,10 @@ describe("Abilities - Sweet Veil", () => { }); it("prevents the user and its allies already drowsy due to Yawn from falling asleep.", async () => { - vi.spyOn(overrides, "OPP_SPECIES_OVERRIDE", "get").mockReturnValue(Species.PIKACHU); - vi.spyOn(overrides, "OPP_LEVEL_OVERRIDE", "get").mockReturnValue(5); - vi.spyOn(overrides, "STARTING_LEVEL_OVERRIDE", "get").mockReturnValue(5); - vi.spyOn(overrides, "OPP_MOVESET_OVERRIDE", "get").mockReturnValue([Moves.YAWN, Moves.YAWN, Moves.YAWN, Moves.YAWN]); + game.override.enemySpecies(Species.PIKACHU); + game.override.enemyLevel(5); + game.override.startingLevel(5); + game.override.enemyMoveset([Moves.YAWN, Moves.YAWN, Moves.YAWN, Moves.YAWN]); await game.startBattle([Species.SHUCKLE, Species.SHUCKLE, Species.SWIRLIX]); diff --git a/src/test/abilities/unseen_fist.test.ts b/src/test/abilities/unseen_fist.test.ts index 2156c5eb588..0ee4dbef513 100644 --- a/src/test/abilities/unseen_fist.test.ts +++ b/src/test/abilities/unseen_fist.test.ts @@ -4,8 +4,8 @@ import { Moves } from "#enums/moves"; import { Species } from "#enums/species"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, test } from "vitest"; -import GameManager from "../utils/gameManager"; -import { getMovePosition } from "../utils/gameManagerUtils"; +import GameManager from "#test/utils/gameManager"; +import { getMovePosition } from "#test/utils/gameManagerUtils"; const TIMEOUT = 20 * 1000; diff --git a/src/test/abilities/volt_absorb.test.ts b/src/test/abilities/volt_absorb.test.ts index 419c3a612d5..985459e133b 100644 --- a/src/test/abilities/volt_absorb.test.ts +++ b/src/test/abilities/volt_absorb.test.ts @@ -1,9 +1,7 @@ import { BattleStat } from "#app/data/battle-stat.js"; -import { - TurnEndPhase, -} from "#app/phases"; -import GameManager from "#app/test/utils/gameManager"; -import { getMovePosition } from "#app/test/utils/gameManagerUtils"; +import { TurnEndPhase } from "#app/phases"; +import GameManager from "#test/utils/gameManager"; +import { getMovePosition } from "#test/utils/gameManagerUtils"; import { Abilities } from "#enums/abilities"; import { BattlerTagType } from "#enums/battler-tag-type"; import { Moves } from "#enums/moves"; diff --git a/src/test/abilities/wind_power.test.ts b/src/test/abilities/wind_power.test.ts index cfdb2e745fe..8a4c2969cc4 100644 --- a/src/test/abilities/wind_power.test.ts +++ b/src/test/abilities/wind_power.test.ts @@ -1,15 +1,13 @@ import { BattlerTagType } from "#app/enums/battler-tag-type.js"; -import { - TurnEndPhase, -} from "#app/phases"; -import GameManager from "#app/test/utils/gameManager"; -import { getMovePosition } from "#app/test/utils/gameManagerUtils"; +import { TurnEndPhase } from "#app/phases"; +import GameManager from "#test/utils/gameManager"; +import { getMovePosition } from "#test/utils/gameManagerUtils"; import { Abilities } from "#enums/abilities"; import { Moves } from "#enums/moves"; import { Species } from "#enums/species"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; -import { SPLASH_ONLY } from "../utils/testUtils"; +import { SPLASH_ONLY } from "#test/utils/testUtils"; describe("Abilities - Wind Power", () => { let phaserGame: Phaser.Game; diff --git a/src/test/abilities/wind_rider.test.ts b/src/test/abilities/wind_rider.test.ts index 88da929fbf1..855def63b6f 100644 --- a/src/test/abilities/wind_rider.test.ts +++ b/src/test/abilities/wind_rider.test.ts @@ -1,15 +1,13 @@ import { BattleStat } from "#app/data/battle-stat.js"; -import { - TurnEndPhase, -} from "#app/phases"; -import GameManager from "#app/test/utils/gameManager"; -import { getMovePosition } from "#app/test/utils/gameManagerUtils"; +import { TurnEndPhase } from "#app/phases"; +import GameManager from "#test/utils/gameManager"; +import { getMovePosition } from "#test/utils/gameManagerUtils"; import { Abilities } from "#enums/abilities"; import { Moves } from "#enums/moves"; import { Species } from "#enums/species"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; -import { SPLASH_ONLY } from "../utils/testUtils"; +import { SPLASH_ONLY } from "#test/utils/testUtils"; describe("Abilities - Wind Rider", () => { let phaserGame: Phaser.Game; diff --git a/src/test/abilities/wonder_skin.test.ts b/src/test/abilities/wonder_skin.test.ts index bc964134e45..a2815152df6 100644 --- a/src/test/abilities/wonder_skin.test.ts +++ b/src/test/abilities/wonder_skin.test.ts @@ -1,14 +1,14 @@ import { allAbilities } from "#app/data/ability.js"; import { allMoves } from "#app/data/move.js"; import { MoveEffectPhase } from "#app/phases"; -import GameManager from "#app/test/utils/gameManager"; -import { getMovePosition } from "#app/test/utils/gameManagerUtils"; +import GameManager from "#test/utils/gameManager"; +import { getMovePosition } from "#test/utils/gameManagerUtils"; import { Abilities } from "#enums/abilities"; import { Moves } from "#enums/moves"; import { Species } from "#enums/species"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; -import { SPLASH_ONLY } from "../utils/testUtils"; +import { SPLASH_ONLY } from "#test/utils/testUtils"; describe("Abilities - Wonder Skin", () => { let phaserGame: Phaser.Game; diff --git a/src/test/abilities/zen_mode.test.ts b/src/test/abilities/zen_mode.test.ts index 8f4c8b42af5..f11694b061c 100644 --- a/src/test/abilities/zen_mode.test.ts +++ b/src/test/abilities/zen_mode.test.ts @@ -1,20 +1,9 @@ import { Stat } from "#app/data/pokemon-stat"; import { Status, StatusEffect } from "#app/data/status-effect.js"; import { QuietFormChangePhase } from "#app/form-change-phase"; -import { - CommandPhase, - DamagePhase, - EnemyCommandPhase, - MessagePhase, - PostSummonPhase, - SwitchPhase, - SwitchSummonPhase, - TurnEndPhase, - TurnInitPhase, - TurnStartPhase, -} from "#app/phases"; -import GameManager from "#app/test/utils/gameManager"; -import { getMovePosition } from "#app/test/utils/gameManagerUtils"; +import { CommandPhase, DamagePhase, EnemyCommandPhase, MessagePhase, PostSummonPhase, SwitchPhase, SwitchSummonPhase, TurnEndPhase, TurnInitPhase, TurnStartPhase } from "#app/phases"; +import GameManager from "#test/utils/gameManager"; +import { getMovePosition } from "#test/utils/gameManagerUtils"; import { Command } from "#app/ui/command-ui-handler"; import { Mode } from "#app/ui/ui"; import { Abilities } from "#enums/abilities"; diff --git a/src/test/achievements/achievement.test.ts b/src/test/achievements/achievement.test.ts index 83d24d1f0ee..14466a71086 100644 --- a/src/test/achievements/achievement.test.ts +++ b/src/test/achievements/achievement.test.ts @@ -1,6 +1,6 @@ import { TurnHeldItemTransferModifier } from "#app/modifier/modifier.js"; import { Achv, AchvTier, DamageAchv, HealAchv, LevelAchv, ModifierAchv, MoneyAchv, RibbonAchv, achvs } from "#app/system/achv"; -import GameManager from "#app/test/utils/gameManager"; +import GameManager from "#test/utils/gameManager"; import { IntegerHolder, NumberHolder } from "#app/utils.js"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; diff --git a/src/test/arena/arena_gravity.test.ts b/src/test/arena/arena_gravity.test.ts index f89846dd999..66d6994fb80 100644 --- a/src/test/arena/arena_gravity.test.ts +++ b/src/test/arena/arena_gravity.test.ts @@ -1,12 +1,9 @@ import { allMoves } from "#app/data/move.js"; import { Abilities } from "#app/enums/abilities.js"; import { ArenaTagType } from "#app/enums/arena-tag-type.js"; -import { - MoveEffectPhase, - TurnEndPhase, -} from "#app/phases"; -import GameManager from "#app/test/utils/gameManager"; -import { getMovePosition } from "#app/test/utils/gameManagerUtils"; +import { MoveEffectPhase, TurnEndPhase } from "#app/phases"; +import GameManager from "#test/utils/gameManager"; +import { getMovePosition } from "#test/utils/gameManagerUtils"; import { Moves } from "#enums/moves"; import { Species } from "#enums/species"; import Phaser from "phaser"; diff --git a/src/test/arena/weather_fog.test.ts b/src/test/arena/weather_fog.test.ts index 9b0630f5c2b..e5718b73a3c 100644 --- a/src/test/arena/weather_fog.test.ts +++ b/src/test/arena/weather_fog.test.ts @@ -1,11 +1,9 @@ import { allMoves } from "#app/data/move.js"; import { WeatherType } from "#app/data/weather.js"; import { Abilities } from "#app/enums/abilities.js"; -import { - MoveEffectPhase, -} from "#app/phases"; -import GameManager from "#app/test/utils/gameManager"; -import { getMovePosition } from "#app/test/utils/gameManagerUtils"; +import { MoveEffectPhase } from "#app/phases"; +import GameManager from "#test/utils/gameManager"; +import { getMovePosition } from "#test/utils/gameManagerUtils"; import { Moves } from "#enums/moves"; import { Species } from "#enums/species"; import Phaser from "phaser"; diff --git a/src/test/arena/weather_strong_winds.test.ts b/src/test/arena/weather_strong_winds.test.ts index 6c977401f20..0fd45173033 100644 --- a/src/test/arena/weather_strong_winds.test.ts +++ b/src/test/arena/weather_strong_winds.test.ts @@ -1,9 +1,7 @@ import { allMoves } from "#app/data/move.js"; -import { - TurnStartPhase, -} from "#app/phases"; -import GameManager from "#app/test/utils/gameManager"; -import { getMovePosition } from "#app/test/utils/gameManagerUtils"; +import { TurnStartPhase } from "#app/phases"; +import GameManager from "#test/utils/gameManager"; +import { getMovePosition } from "#test/utils/gameManagerUtils"; import { Abilities } from "#enums/abilities"; import { Moves } from "#enums/moves"; import { Species } from "#enums/species"; diff --git a/src/test/battle-stat.spec.ts b/src/test/battle-stat.spec.ts index 46f25f66bcd..775dd40ff34 100644 --- a/src/test/battle-stat.spec.ts +++ b/src/test/battle-stat.spec.ts @@ -1,8 +1,4 @@ -import { - BattleStat, - getBattleStatLevelChangeDescription, - getBattleStatName, -} from "#app/data/battle-stat.js"; +import { BattleStat, getBattleStatLevelChangeDescription, getBattleStatName } from "#app/data/battle-stat.js"; import { describe, expect, it } from "vitest"; import { arrayOfRange, mockI18next } from "./utils/testUtils"; diff --git a/src/test/battle/battle-order.test.ts b/src/test/battle/battle-order.test.ts index 14ff1bcec0d..6aa919186b4 100644 --- a/src/test/battle/battle-order.test.ts +++ b/src/test/battle/battle-order.test.ts @@ -1,10 +1,7 @@ import { Stat } from "#app/data/pokemon-stat"; -import { - CommandPhase, EnemyCommandPhase, SelectTargetPhase, - TurnStartPhase -} from "#app/phases"; -import GameManager from "#app/test/utils/gameManager"; -import { getMovePosition } from "#app/test/utils/gameManagerUtils"; +import { CommandPhase, EnemyCommandPhase, SelectTargetPhase, TurnStartPhase } from "#app/phases"; +import GameManager from "#test/utils/gameManager"; +import { getMovePosition } from "#test/utils/gameManagerUtils"; import { Command } from "#app/ui/command-ui-handler"; import TargetSelectUiHandler from "#app/ui/target-select-ui-handler"; import { Mode } from "#app/ui/ui"; diff --git a/src/test/battle/battle.test.ts b/src/test/battle/battle.test.ts index a91cd1e8352..35eae9b96d2 100644 --- a/src/test/battle/battle.test.ts +++ b/src/test/battle/battle.test.ts @@ -1,20 +1,9 @@ import { allSpecies } from "#app/data/pokemon-species"; import { GameModes } from "#app/game-mode"; import { getGameMode } from "#app/game-mode.js"; -import { - CommandPhase, DamagePhase, - EncounterPhase, - EnemyCommandPhase, - LoginPhase, - SelectGenderPhase, - SelectModifierPhase, - SelectStarterPhase, - SummonPhase, - TitlePhase, - TurnInitPhase, VictoryPhase, -} from "#app/phases"; -import GameManager from "#app/test/utils/gameManager"; -import { generateStarter, getMovePosition, } from "#app/test/utils/gameManagerUtils"; +import { CommandPhase, DamagePhase, EncounterPhase, EnemyCommandPhase, LoginPhase, SelectGenderPhase, SelectModifierPhase, SelectStarterPhase, SummonPhase, TitlePhase, TurnInitPhase, VictoryPhase } from "#app/phases"; +import GameManager from "#test/utils/gameManager"; +import { generateStarter, getMovePosition, } from "#test/utils/gameManagerUtils"; import { Command } from "#app/ui/command-ui-handler"; import { Mode } from "#app/ui/ui"; import { Abilities } from "#enums/abilities"; diff --git a/src/test/battle/double_battle.test.ts b/src/test/battle/double_battle.test.ts index e2d8dee562c..fb73fd70099 100644 --- a/src/test/battle/double_battle.test.ts +++ b/src/test/battle/double_battle.test.ts @@ -1,14 +1,11 @@ -import { - BattleEndPhase, - TurnInitPhase, -} from "#app/phases"; -import GameManager from "#app/test/utils/gameManager"; -import { getMovePosition, } from "#app/test/utils/gameManagerUtils"; +import { BattleEndPhase, TurnInitPhase } from "#app/phases"; +import GameManager from "#test/utils/gameManager"; +import { getMovePosition, } from "#test/utils/gameManagerUtils"; import { Moves } from "#enums/moves"; import { Species } from "#enums/species"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; -import { SPLASH_ONLY } from "../utils/testUtils"; +import { SPLASH_ONLY } from "#test/utils/testUtils"; import { Status, StatusEffect } from "#app/data/status-effect.js"; describe("Test Battle Phase", () => { @@ -43,8 +40,6 @@ describe("Test Battle Phase", () => { game.doAttack(getMovePosition(game.scene, 1, Moves.SPLASH)); for (const pokemon of game.scene.getPlayerField()) { - expect(pokemon).toBeDefined(); - pokemon.hp = 0; pokemon.status = new Status(StatusEffect.FAINT); expect(pokemon.isFainted()).toBe(true); diff --git a/src/test/battle/error-handling.test.ts b/src/test/battle/error-handling.test.ts index a823887b4f8..f244b57ce1b 100644 --- a/src/test/battle/error-handling.test.ts +++ b/src/test/battle/error-handling.test.ts @@ -1,4 +1,4 @@ -import GameManager from "#app/test/utils/gameManager"; +import GameManager from "#test/utils/gameManager"; import { Abilities } from "#enums/abilities"; import { Moves } from "#enums/moves"; import { Species } from "#enums/species"; diff --git a/src/test/battle/special_battle.test.ts b/src/test/battle/special_battle.test.ts index e4243ea1418..b8a29e82f69 100644 --- a/src/test/battle/special_battle.test.ts +++ b/src/test/battle/special_battle.test.ts @@ -1,7 +1,5 @@ -import { - CommandPhase, -} from "#app/phases"; -import GameManager from "#app/test/utils/gameManager"; +import { CommandPhase } from "#app/phases"; +import GameManager from "#test/utils/gameManager"; import { Mode } from "#app/ui/ui"; import { Abilities } from "#enums/abilities"; import { Moves } from "#enums/moves"; diff --git a/src/test/eggs/egg.test.ts b/src/test/eggs/egg.test.ts index 91d1153edfc..0bc2972e2dc 100644 --- a/src/test/eggs/egg.test.ts +++ b/src/test/eggs/egg.test.ts @@ -1,4 +1,4 @@ -import {afterEach, beforeAll, beforeEach, describe, expect, it, vi} from "vitest"; +import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; import BattleScene from "../../battle-scene"; import { Egg, getLegendaryGachaSpeciesForTimestamp } from "#app/data/egg.js"; import { Species } from "#enums/species"; @@ -6,7 +6,7 @@ import Phaser from "phaser"; import { EggSourceType } from "#app/enums/egg-source-types.js"; import { EggTier } from "#app/enums/egg-type.js"; import { VariantTier } from "#app/enums/variant-tiers.js"; -import GameManager from "../utils/gameManager"; +import GameManager from "#test/utils/gameManager"; import EggData from "#app/system/egg-data.js"; import * as Utils from "#app/utils.js"; diff --git a/src/test/evolution.test.ts b/src/test/evolution.test.ts index 70682666f32..acb012741ff 100644 --- a/src/test/evolution.test.ts +++ b/src/test/evolution.test.ts @@ -1,7 +1,7 @@ import { pokemonEvolutions } from "#app/data/pokemon-evolutions.js"; import { Abilities } from "#app/enums/abilities.js"; import { Species } from "#app/enums/species.js"; -import GameManager from "#app/test/utils/gameManager"; +import GameManager from "#test/utils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; diff --git a/src/test/evolutions/evolutions.test.ts b/src/test/evolutions/evolutions.test.ts index 4e38e72bb7c..e6e9e0d56e2 100644 --- a/src/test/evolutions/evolutions.test.ts +++ b/src/test/evolutions/evolutions.test.ts @@ -1,6 +1,6 @@ import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; import Phaser from "phaser"; -import GameManager from "#app/test/utils/gameManager"; +import GameManager from "#test/utils/gameManager"; import { Species } from "#enums/species"; import * as Utils from "#app/utils"; diff --git a/src/test/game-mode.test.ts b/src/test/game-mode.test.ts index 04376c20361..4a1960a05ff 100644 --- a/src/test/game-mode.test.ts +++ b/src/test/game-mode.test.ts @@ -1,13 +1,5 @@ import { GameMode, GameModes, getGameMode } from "#app/game-mode.js"; -import { - afterEach, - beforeAll, - beforeEach, - describe, - expect, - it, - vi, -} from "vitest"; +import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; import GameManager from "./utils/gameManager"; import * as Utils from "../utils"; describe("game-mode", () => { diff --git a/src/test/imports.test.ts b/src/test/imports.test.ts index 5c0272e191d..69c145236bc 100644 --- a/src/test/imports.test.ts +++ b/src/test/imports.test.ts @@ -1,5 +1,5 @@ -import { describe, expect, it} from "vitest"; -import {initStatsKeys} from "#app/ui/game-stats-ui-handler"; +import { describe, expect, it } from "vitest"; +import { initStatsKeys } from "#app/ui/game-stats-ui-handler"; async function importModule() { try { diff --git a/src/test/inputs/inputs.test.ts b/src/test/inputs/inputs.test.ts index 5acee145011..7182ac2c02c 100644 --- a/src/test/inputs/inputs.test.ts +++ b/src/test/inputs/inputs.test.ts @@ -1,9 +1,9 @@ -import {afterEach, beforeAll, beforeEach, describe, expect, it} from "vitest"; +import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; import Phaser from "phaser"; -import GameManager from "#app/test/utils/gameManager"; +import GameManager from "#test/utils/gameManager"; import pad_xbox360 from "#app/configs/inputs/pad_xbox360"; import cfg_keyboard_qwerty from "#app/configs/inputs/cfg_keyboard_qwerty"; -import InputsHandler from "#app/test/utils/inputsHandler"; +import InputsHandler from "#test/utils/inputsHandler"; describe("Inputs", () => { diff --git a/src/test/internals.test.ts b/src/test/internals.test.ts index a54b8b01544..2ada42d0c8c 100644 --- a/src/test/internals.test.ts +++ b/src/test/internals.test.ts @@ -1,6 +1,6 @@ import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; import Phaser from "phaser"; -import GameManager from "#app/test/utils/gameManager"; +import GameManager from "#test/utils/gameManager"; import { Species } from "#app/enums/species.js"; import { Abilities } from "#app/enums/abilities.js"; diff --git a/src/test/items/eviolite.test.ts b/src/test/items/eviolite.test.ts index 5b18cc3a249..0fe90866de8 100644 --- a/src/test/items/eviolite.test.ts +++ b/src/test/items/eviolite.test.ts @@ -2,7 +2,7 @@ import { Stat } from "#app/data/pokemon-stat"; import { EvolutionStatBoosterModifier } from "#app/modifier/modifier"; import { modifierTypes } from "#app/modifier/modifier-type"; import i18next from "#app/plugins/i18n"; -import GameManager from "#app/test/utils/gameManager"; +import GameManager from "#test/utils/gameManager"; import * as Utils from "#app/utils"; import { Species } from "#enums/species"; import Phase from "phaser"; diff --git a/src/test/items/exp_booster.test.ts b/src/test/items/exp_booster.test.ts index e80b12d7fc9..7ea457eda1f 100644 --- a/src/test/items/exp_booster.test.ts +++ b/src/test/items/exp_booster.test.ts @@ -1,6 +1,6 @@ import { Abilities } from "#app/enums/abilities.js"; import { PokemonExpBoosterModifier } from "#app/modifier/modifier.js"; -import GameManager from "#app/test/utils/gameManager"; +import GameManager from "#test/utils/gameManager"; import * as Utils from "#app/utils"; import Phase from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; diff --git a/src/test/items/grip_claw.test.ts b/src/test/items/grip_claw.test.ts index 495bc5de223..40ef81fed73 100644 --- a/src/test/items/grip_claw.test.ts +++ b/src/test/items/grip_claw.test.ts @@ -5,10 +5,10 @@ import { BerryType } from "#app/enums/berry-type.js"; import { Moves } from "#app/enums/moves.js"; import { Species } from "#app/enums/species.js"; import { CommandPhase, MoveEndPhase, SelectTargetPhase } from "#app/phases.js"; -import GameManager from "#app/test/utils/gameManager"; +import GameManager from "#test/utils/gameManager"; import Phase from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; -import { getMovePosition } from "../utils/gameManagerUtils"; +import { getMovePosition } from "#test/utils/gameManagerUtils"; const TIMEOUT = 20 * 1000; // 20 seconds @@ -54,11 +54,7 @@ describe("Items - Grip Claw", () => { async () => { await game.startBattle([Species.PANSEAR, Species.ROWLET, Species.PANPOUR, Species.PANSAGE, Species.CHARMANDER, Species.SQUIRTLE]); - const playerPokemon = game.scene.getPlayerField(); - playerPokemon.forEach(p => expect(p).toBeDefined()); - const enemyPokemon = game.scene.getEnemyField(); - enemyPokemon.forEach(p => expect(p).toBeDefined()); const enemyHeldItemCt = enemyPokemon.map(p => p.getHeldItems.length); diff --git a/src/test/items/leek.test.ts b/src/test/items/leek.test.ts index 73444a54c30..7a2dd369e4e 100644 --- a/src/test/items/leek.test.ts +++ b/src/test/items/leek.test.ts @@ -2,7 +2,7 @@ import { BattlerIndex } from "#app/battle"; import { CritBoosterModifier } from "#app/modifier/modifier"; import { modifierTypes } from "#app/modifier/modifier-type"; import { MoveEffectPhase, TurnStartPhase } from "#app/phases"; -import GameManager from "#app/test/utils/gameManager"; +import GameManager from "#test/utils/gameManager"; import * as Utils from "#app/utils"; import { Moves } from "#enums/moves"; import { Species } from "#enums/species"; diff --git a/src/test/items/leftovers.test.ts b/src/test/items/leftovers.test.ts index 8c9195b07af..6850528a664 100644 --- a/src/test/items/leftovers.test.ts +++ b/src/test/items/leftovers.test.ts @@ -1,6 +1,6 @@ import { DamagePhase, TurnEndPhase } from "#app/phases"; -import GameManager from "#app/test/utils/gameManager"; -import { getMovePosition } from "#app/test/utils/gameManagerUtils"; +import GameManager from "#test/utils/gameManager"; +import { getMovePosition } from "#test/utils/gameManagerUtils"; import { Abilities } from "#enums/abilities"; import { Moves } from "#enums/moves"; import { Species } from "#enums/species"; @@ -41,10 +41,6 @@ describe("Items - Leftovers", () => { expect(game.scene.modifiers[0].type.id).toBe("LEFTOVERS"); const leadPokemon = game.scene.getPlayerPokemon(); - expect(leadPokemon).toBeDefined(); - - const enemyPokemon = game.scene.getEnemyPokemon(); - expect(enemyPokemon).toBeDefined(); // We should have full hp expect(leadPokemon.isFullHp()).toBe(true); diff --git a/src/test/items/light_ball.test.ts b/src/test/items/light_ball.test.ts index eb0c6cc044f..fef5793d26c 100644 --- a/src/test/items/light_ball.test.ts +++ b/src/test/items/light_ball.test.ts @@ -2,7 +2,7 @@ import { Stat } from "#app/data/pokemon-stat"; import { SpeciesStatBoosterModifier } from "#app/modifier/modifier"; import { modifierTypes } from "#app/modifier/modifier-type"; import i18next from "#app/plugins/i18n"; -import GameManager from "#app/test/utils/gameManager"; +import GameManager from "#test/utils/gameManager"; import * as Utils from "#app/utils"; import { Species } from "#enums/species"; import Phase from "phaser"; diff --git a/src/test/items/metal_powder.test.ts b/src/test/items/metal_powder.test.ts index 937fd8feb62..da5d9109c9a 100644 --- a/src/test/items/metal_powder.test.ts +++ b/src/test/items/metal_powder.test.ts @@ -2,7 +2,7 @@ import { Stat } from "#app/data/pokemon-stat"; import { SpeciesStatBoosterModifier } from "#app/modifier/modifier"; import { modifierTypes } from "#app/modifier/modifier-type"; import i18next from "#app/plugins/i18n"; -import GameManager from "#app/test/utils/gameManager"; +import GameManager from "#test/utils/gameManager"; import * as Utils from "#app/utils"; import { Species } from "#enums/species"; import Phase from "phaser"; diff --git a/src/test/items/quick_powder.test.ts b/src/test/items/quick_powder.test.ts index e662b398cd4..939d25070bc 100644 --- a/src/test/items/quick_powder.test.ts +++ b/src/test/items/quick_powder.test.ts @@ -2,7 +2,7 @@ import { Stat } from "#app/data/pokemon-stat"; import { SpeciesStatBoosterModifier } from "#app/modifier/modifier"; import { modifierTypes } from "#app/modifier/modifier-type"; import i18next from "#app/plugins/i18n"; -import GameManager from "#app/test/utils/gameManager"; +import GameManager from "#test/utils/gameManager"; import * as Utils from "#app/utils"; import { Species } from "#enums/species"; import Phase from "phaser"; diff --git a/src/test/items/scope_lens.test.ts b/src/test/items/scope_lens.test.ts index c9fb3ba52d3..59702ee51ac 100644 --- a/src/test/items/scope_lens.test.ts +++ b/src/test/items/scope_lens.test.ts @@ -2,7 +2,7 @@ import { BattlerIndex } from "#app/battle"; import { CritBoosterModifier } from "#app/modifier/modifier"; import { modifierTypes } from "#app/modifier/modifier-type"; import { MoveEffectPhase, TurnStartPhase } from "#app/phases"; -import GameManager from "#app/test/utils/gameManager"; +import GameManager from "#test/utils/gameManager"; import * as Utils from "#app/utils"; import { Moves } from "#enums/moves"; import { Species } from "#enums/species"; diff --git a/src/test/items/thick_club.test.ts b/src/test/items/thick_club.test.ts index 13714c441c0..6b56cf98099 100644 --- a/src/test/items/thick_club.test.ts +++ b/src/test/items/thick_club.test.ts @@ -2,7 +2,7 @@ import { Stat } from "#app/data/pokemon-stat"; import { SpeciesStatBoosterModifier } from "#app/modifier/modifier"; import { modifierTypes } from "#app/modifier/modifier-type"; import i18next from "#app/plugins/i18n"; -import GameManager from "#app/test/utils/gameManager"; +import GameManager from "#test/utils/gameManager"; import * as Utils from "#app/utils"; import { Species } from "#enums/species"; import Phase from "phaser"; diff --git a/src/test/items/toxic_orb.test.ts b/src/test/items/toxic_orb.test.ts index 2f2b7e4e16a..b5e9b6c4d65 100644 --- a/src/test/items/toxic_orb.test.ts +++ b/src/test/items/toxic_orb.test.ts @@ -1,13 +1,8 @@ import { StatusEffect } from "#app/data/status-effect"; -import { - CommandPhase, - EnemyCommandPhase, - MessagePhase, - TurnEndPhase, -} from "#app/phases"; +import { CommandPhase, EnemyCommandPhase, MessagePhase, TurnEndPhase } from "#app/phases"; import i18next, { initI18n } from "#app/plugins/i18n"; -import GameManager from "#app/test/utils/gameManager"; -import { getMovePosition } from "#app/test/utils/gameManagerUtils"; +import GameManager from "#test/utils/gameManager"; +import { getMovePosition } from "#test/utils/gameManagerUtils"; import { Command } from "#app/ui/command-ui-handler"; import { Mode } from "#app/ui/ui"; import { Abilities } from "#enums/abilities"; diff --git a/src/test/localization/battle-stat.test.ts b/src/test/localization/battle-stat.test.ts index ea2714b3852..b99ed2b7064 100644 --- a/src/test/localization/battle-stat.test.ts +++ b/src/test/localization/battle-stat.test.ts @@ -1,27 +1,26 @@ -import {beforeAll, describe, expect, it} from "vitest"; -import {getBattleStatName, getBattleStatLevelChangeDescription} from "#app/data/battle-stat.js"; -import {BattleStat} from "#app/data/battle-stat.js"; -import {pokemonInfo as enPokemonInfo} from "#app/locales/en/pokemon-info.js"; -import {battle as enBattleStat} from "#app/locales/en/battle.js"; -import {pokemonInfo as dePokemonInfo} from "#app/locales/de/pokemon-info.js"; -import {battle as deBattleStat} from "#app/locales/de/battle.js"; -import {pokemonInfo as esPokemonInfo} from "#app/locales/es/pokemon-info.js"; -import {battle as esBattleStat} from "#app/locales/es/battle.js"; -import {pokemonInfo as frPokemonInfo} from "#app/locales/fr/pokemon-info.js"; -import {battle as frBattleStat} from "#app/locales/fr/battle.js"; -import {pokemonInfo as itPokemonInfo} from "#app/locales/it/pokemon-info.js"; -import {battle as itBattleStat} from "#app/locales/it/battle.js"; -import {pokemonInfo as koPokemonInfo} from "#app/locales/ko/pokemon-info.js"; -import {battle as koBattleStat} from "#app/locales/ko/battle.js"; -import {pokemonInfo as ptBrPokemonInfo} from "#app/locales/pt_BR/pokemon-info.js"; -import {battle as ptBrBattleStat} from "#app/locales/pt_BR/battle.js"; -import {pokemonInfo as zhCnPokemonInfo} from "#app/locales/zh_CN/pokemon-info.js"; -import {battle as zhCnBattleStat} from "#app/locales/zh_CN/battle.js"; -import {pokemonInfo as zhTwPokemonInfo} from "#app/locales/zh_TW/pokemon-info.js"; -import {battle as zhTwBattleStat} from "#app/locales/zh_TW/battle.js"; - -import i18next, {initI18n} from "#app/plugins/i18n"; -import {KoreanPostpositionProcessor} from "i18next-korean-postposition-processor"; +import { beforeAll, describe, expect, it } from "vitest"; +import { getBattleStatName, getBattleStatLevelChangeDescription } from "#app/data/battle-stat.js"; +import { BattleStat} from "#app/data/battle-stat.js"; +import { pokemonInfo as enPokemonInfo } from "#app/locales/en/pokemon-info.js"; +import { battle as enBattleStat } from "#app/locales/en/battle.js"; +import { pokemonInfo as dePokemonInfo } from "#app/locales/de/pokemon-info.js"; +import { battle as deBattleStat } from "#app/locales/de/battle.js"; +import { pokemonInfo as esPokemonInfo } from "#app/locales/es/pokemon-info.js"; +import { battle as esBattleStat } from "#app/locales/es/battle.js"; +import { pokemonInfo as frPokemonInfo } from "#app/locales/fr/pokemon-info.js"; +import { battle as frBattleStat } from "#app/locales/fr/battle.js"; +import { pokemonInfo as itPokemonInfo } from "#app/locales/it/pokemon-info.js"; +import { battle as itBattleStat } from "#app/locales/it/battle.js"; +import { pokemonInfo as koPokemonInfo } from "#app/locales/ko/pokemon-info.js"; +import { battle as koBattleStat } from "#app/locales/ko/battle.js"; +import { pokemonInfo as ptBrPokemonInfo } from "#app/locales/pt_BR/pokemon-info.js"; +import { battle as ptBrBattleStat } from "#app/locales/pt_BR/battle.js"; +import { pokemonInfo as zhCnPokemonInfo } from "#app/locales/zh_CN/pokemon-info.js"; +import { battle as zhCnBattleStat } from "#app/locales/zh_CN/battle.js"; +import { pokemonInfo as zhTwPokemonInfo } from "#app/locales/zh_TW/pokemon-info.js"; +import { battle as zhTwBattleStat } from "#app/locales/zh_TW/battle.js"; +import i18next, { initI18n } from "#app/plugins/i18n"; +import { KoreanPostpositionProcessor } from "i18next-korean-postposition-processor"; interface BattleStatTestUnit { stat: BattleStat, diff --git a/src/test/localization/french.test.ts b/src/test/localization/french.test.ts index 45429b1b157..b03a8ee64e8 100644 --- a/src/test/localization/french.test.ts +++ b/src/test/localization/french.test.ts @@ -1,9 +1,9 @@ -import {afterEach, beforeAll, describe, expect, it} from "vitest"; +import { afterEach, beforeAll, describe, expect, it } from "vitest"; import Phaser from "phaser"; -import GameManager from "#app/test/utils/gameManager"; -import {Species} from "#enums/species"; +import GameManager from "#test/utils/gameManager"; +import { Species } from "#enums/species"; import i18next from "i18next"; -import {initI18n} from "#app/plugins/i18n"; +import { initI18n } from "#app/plugins/i18n"; describe("Lokalization - french", () => { let phaserGame: Phaser.Game; diff --git a/src/test/localization/status-effect.test.ts b/src/test/localization/status-effect.test.ts index ad33a59a675..8a9effe1672 100644 --- a/src/test/localization/status-effect.test.ts +++ b/src/test/localization/status-effect.test.ts @@ -1,14 +1,7 @@ import { beforeAll, describe, afterEach, expect, it, vi } from "vitest"; -import { - StatusEffect, - getStatusEffectActivationText, - getStatusEffectDescriptor, - getStatusEffectHealText, - getStatusEffectObtainText, - getStatusEffectOverlapText, -} from "#app/data/status-effect"; +import { StatusEffect, getStatusEffectActivationText, getStatusEffectDescriptor, getStatusEffectHealText, getStatusEffectObtainText, getStatusEffectOverlapText } from "#app/data/status-effect"; import i18next from "i18next"; -import { mockI18next } from "../utils/testUtils"; +import { mockI18next } from "#test/utils/testUtils"; const pokemonName = "PKM"; const sourceText = "SOURCE"; diff --git a/src/test/localization/terrain.test.ts b/src/test/localization/terrain.test.ts index 6450d8574be..f97b7813948 100644 --- a/src/test/localization/terrain.test.ts +++ b/src/test/localization/terrain.test.ts @@ -1,11 +1,11 @@ import { TerrainType, getTerrainName } from "#app/data/terrain"; import { getTerrainBlockMessage, getTerrainClearMessage, getTerrainStartMessage } from "#app/data/weather"; -import GameManager from "#app/test/utils/gameManager"; +import GameManager from "#test/utils/gameManager"; import { Species } from "#enums/species"; import i18next from "i18next"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; -import { mockI18next } from "../utils/testUtils"; +import { mockI18next } from "#test/utils/testUtils"; describe("terrain", () => { let phaserGame: Phaser.Game; diff --git a/src/test/moves/astonish.test.ts b/src/test/moves/astonish.test.ts index c8c013026b3..c5d59f82102 100644 --- a/src/test/moves/astonish.test.ts +++ b/src/test/moves/astonish.test.ts @@ -6,8 +6,8 @@ import { Moves } from "#enums/moves"; import { Species } from "#enums/species"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, test, vi } from "vitest"; -import GameManager from "../utils/gameManager"; -import { getMovePosition } from "../utils/gameManagerUtils"; +import GameManager from "#test/utils/gameManager"; +import { getMovePosition } from "#test/utils/gameManagerUtils"; const TIMEOUT = 20 * 1000; @@ -44,10 +44,8 @@ describe("Moves - Astonish", () => { await game.startBattle([Species.MEOWSCARADA]); const leadPokemon = game.scene.getPlayerPokemon(); - expect(leadPokemon).toBeDefined(); const enemyPokemon = game.scene.getEnemyPokemon(); - expect(enemyPokemon).toBeDefined(); game.doAttack(getMovePosition(game.scene, 0, Moves.ASTONISH)); diff --git a/src/test/moves/aurora_veil.test.ts b/src/test/moves/aurora_veil.test.ts index 80da8087576..f98e9e9cc0c 100644 --- a/src/test/moves/aurora_veil.test.ts +++ b/src/test/moves/aurora_veil.test.ts @@ -4,11 +4,9 @@ import { WeatherType } from "#app/data/weather.js"; import { Abilities } from "#app/enums/abilities.js"; import { ArenaTagType } from "#app/enums/arena-tag-type.js"; import Pokemon from "#app/field/pokemon.js"; -import { - TurnEndPhase, -} from "#app/phases"; -import GameManager from "#app/test/utils/gameManager"; -import { getMovePosition } from "#app/test/utils/gameManagerUtils"; +import { TurnEndPhase } from "#app/phases"; +import GameManager from "#test/utils/gameManager"; +import { getMovePosition } from "#test/utils/gameManagerUtils"; import { NumberHolder } from "#app/utils.js"; import { Moves } from "#enums/moves"; import { Species } from "#enums/species"; diff --git a/src/test/moves/beat_up.test.ts b/src/test/moves/beat_up.test.ts index 751b91fefa3..e720c625956 100644 --- a/src/test/moves/beat_up.test.ts +++ b/src/test/moves/beat_up.test.ts @@ -1,11 +1,10 @@ -import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; +import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; import Phaser from "phaser"; -import GameManager from "#app/test/utils/gameManager"; -import Overrides from "#app/overrides"; +import GameManager from "#test/utils/gameManager"; import { Species } from "#app/enums/species.js"; import { Moves } from "#app/enums/moves.js"; import { Abilities } from "#app/enums/abilities.js"; -import { getMovePosition } from "../utils/gameManagerUtils"; +import { getMovePosition } from "#test/utils/gameManagerUtils"; import { MoveEffectPhase } from "#app/phases.js"; import { StatusEffect } from "#app/enums/status-effect.js"; @@ -27,15 +26,15 @@ describe("Moves - Beat Up", () => { beforeEach(() => { game = new GameManager(phaserGame); - vi.spyOn(Overrides, "BATTLE_TYPE_OVERRIDE", "get").mockReturnValue("single"); + game.override.battleType("single"); - vi.spyOn(Overrides, "OPP_SPECIES_OVERRIDE", "get").mockReturnValue(Species.SNORLAX); - vi.spyOn(Overrides, "OPP_LEVEL_OVERRIDE", "get").mockReturnValue(100); - vi.spyOn(Overrides, "OPP_MOVESET_OVERRIDE", "get").mockReturnValue(Array(4).fill(Moves.SPLASH)); - vi.spyOn(Overrides, "OPP_ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.INSOMNIA); + game.override.enemySpecies(Species.SNORLAX); + game.override.enemyLevel(100); + game.override.enemyMoveset(Array(4).fill(Moves.SPLASH)); + game.override.enemyAbility(Abilities.INSOMNIA); - vi.spyOn(Overrides, "STARTING_LEVEL_OVERRIDE", "get").mockReturnValue(100); - vi.spyOn(Overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([Moves.BEAT_UP]); + game.override.startingLevel(100); + game.override.moveset([Moves.BEAT_UP]); }); it( @@ -82,7 +81,7 @@ describe("Moves - Beat Up", () => { it( "should hit twice for each player Pokemon if the user has Multi-Lens", async () => { - vi.spyOn(Overrides, "STARTING_HELD_ITEMS_OVERRIDE", "get").mockReturnValue([{name: "MULTI_LENS", count: 1}]); + game.override.startingHeldItems([{name: "MULTI_LENS", count: 1}]); await game.startBattle([Species.MAGIKARP, Species.BULBASAUR, Species.CHARMANDER, Species.SQUIRTLE, Species.PIKACHU, Species.EEVEE]); const playerPokemon = game.scene.getPlayerPokemon(); diff --git a/src/test/moves/belly_drum.test.ts b/src/test/moves/belly_drum.test.ts index 5a9ddd41f0f..5bb27394805 100644 --- a/src/test/moves/belly_drum.test.ts +++ b/src/test/moves/belly_drum.test.ts @@ -1,11 +1,8 @@ -import {afterEach, beforeAll, beforeEach, describe, expect, test, vi} from "vitest"; +import { afterEach, beforeAll, beforeEach, describe, expect, test } from "vitest"; import Phaser from "phaser"; -import GameManager from "#app/test/utils/gameManager"; -import overrides from "#app/overrides"; -import { - TurnEndPhase, -} from "#app/phases"; -import {getMovePosition} from "#app/test/utils/gameManagerUtils"; +import GameManager from "#test/utils/gameManager"; +import { TurnEndPhase } from "#app/phases"; +import { getMovePosition } from "#test/utils/gameManagerUtils"; import { Moves } from "#enums/moves"; import { Species } from "#enums/species"; import { BattleStat } from "#app/data/battle-stat"; @@ -32,10 +29,10 @@ describe("Moves - BELLY DRUM", () => { beforeEach(() => { game = new GameManager(phaserGame); - vi.spyOn(overrides, "STARTER_SPECIES_OVERRIDE", "get").mockReturnValue(Species.MAGIKARP); - vi.spyOn(overrides, "OPP_SPECIES_OVERRIDE", "get").mockReturnValue(Species.SNORLAX); - vi.spyOn(overrides, "STARTING_LEVEL_OVERRIDE", "get").mockReturnValue(100); - vi.spyOn(overrides, "OPP_LEVEL_OVERRIDE", "get").mockReturnValue(100); + game.override.starterSpecies(Species.MAGIKARP); + game.override.enemySpecies(Species.SNORLAX); + game.override.startingLevel(100); + game.override.enemyLevel(100); game.override.moveset([Moves.BELLY_DRUM]); game.override.enemyMoveset([Moves.SPLASH]); }); @@ -47,7 +44,6 @@ describe("Moves - BELLY DRUM", () => { await game.startBattle([Species.MAGIKARP]); const leadPokemon = game.scene.getPlayerPokemon(); - expect(leadPokemon).toBeDefined(); const hpLost = Math.floor(leadPokemon.getMaxHp() / RATIO); game.doAttack(getMovePosition(game.scene, 0, Moves.BELLY_DRUM)); @@ -63,7 +59,6 @@ describe("Moves - BELLY DRUM", () => { await game.startBattle([Species.MAGIKARP]); const leadPokemon = game.scene.getPlayerPokemon(); - expect(leadPokemon).toBeDefined(); const hpLost = Math.floor(leadPokemon.getMaxHp() / RATIO); // Here - BattleStat.ATK -> -3 and BattleStat.SPATK -> 6 @@ -84,7 +79,6 @@ describe("Moves - BELLY DRUM", () => { await game.startBattle([Species.MAGIKARP]); const leadPokemon = game.scene.getPlayerPokemon(); - expect(leadPokemon).toBeDefined(); leadPokemon.summonData.battleStats[BattleStat.ATK] = 6; @@ -101,7 +95,6 @@ describe("Moves - BELLY DRUM", () => { await game.startBattle([Species.MAGIKARP]); const leadPokemon = game.scene.getPlayerPokemon(); - expect(leadPokemon).toBeDefined(); const hpLost = Math.floor(leadPokemon.getMaxHp() / RATIO); leadPokemon.hp = hpLost - PREDAMAGE; diff --git a/src/test/moves/ceaseless_edge.test.ts b/src/test/moves/ceaseless_edge.test.ts index ab3da3d51b8..288ea6ac277 100644 --- a/src/test/moves/ceaseless_edge.test.ts +++ b/src/test/moves/ceaseless_edge.test.ts @@ -2,12 +2,9 @@ import { ArenaTagSide, ArenaTrapTag } from "#app/data/arena-tag"; import { allMoves } from "#app/data/move"; import { Abilities } from "#app/enums/abilities"; import { ArenaTagType } from "#app/enums/arena-tag-type"; -import { - MoveEffectPhase, - TurnEndPhase -} from "#app/phases"; -import GameManager from "#app/test/utils/gameManager"; -import { getMovePosition } from "#app/test/utils/gameManagerUtils"; +import { MoveEffectPhase, TurnEndPhase } from "#app/phases"; +import GameManager from "#test/utils/gameManager"; +import { getMovePosition } from "#test/utils/gameManagerUtils"; import { Moves } from "#enums/moves"; import { Species } from "#enums/species"; import Phaser from "phaser"; @@ -48,11 +45,7 @@ describe("Moves - Ceaseless Edge", () => { async () => { await game.startBattle([ Species.ILLUMISE ]); - const leadPokemon = game.scene.getPlayerPokemon(); - expect(leadPokemon).toBeDefined(); - const enemyPokemon = game.scene.getEnemyPokemon(); - expect(enemyPokemon).toBeDefined(); const enemyStartingHp = enemyPokemon.hp; @@ -77,11 +70,7 @@ describe("Moves - Ceaseless Edge", () => { game.override.startingHeldItems([{name: "MULTI_LENS"}]); await game.startBattle([ Species.ILLUMISE ]); - const leadPokemon = game.scene.getPlayerPokemon(); - expect(leadPokemon).toBeDefined(); - const enemyPokemon = game.scene.getEnemyPokemon(); - expect(enemyPokemon).toBeDefined(); const enemyStartingHp = enemyPokemon.hp; @@ -108,12 +97,6 @@ describe("Moves - Ceaseless Edge", () => { await game.startBattle([ Species.ILLUMISE ]); - const leadPokemon = game.scene.getPlayerPokemon(); - expect(leadPokemon).toBeDefined(); - - const enemyPokemon = game.scene.getEnemyPokemon(); - expect(enemyPokemon).toBeDefined(); - game.doAttack(getMovePosition(game.scene, 0, Moves.CEASELESS_EDGE)); await game.phaseInterceptor.to(MoveEffectPhase, false); // Spikes should not have any layers before move effect is applied diff --git a/src/test/moves/clangorous_soul.test.ts b/src/test/moves/clangorous_soul.test.ts index 1b3d16f402f..251225e7068 100644 --- a/src/test/moves/clangorous_soul.test.ts +++ b/src/test/moves/clangorous_soul.test.ts @@ -1,19 +1,17 @@ -import {afterEach, beforeAll, beforeEach, describe, expect, test, vi} from "vitest"; +import { afterEach, beforeAll, beforeEach, describe, expect, test } from "vitest"; import Phaser from "phaser"; -import GameManager from "#app/test/utils/gameManager"; -import overrides from "#app/overrides"; -import { - TurnEndPhase, -} from "#app/phases"; -import {getMovePosition} from "#app/test/utils/gameManagerUtils"; +import GameManager from "#test/utils/gameManager"; +import { TurnEndPhase } from "#app/phases"; +import { getMovePosition } from "#test/utils/gameManagerUtils"; import { Moves } from "#enums/moves"; import { Species } from "#enums/species"; import { BattleStat } from "#app/data/battle-stat"; +import { SPLASH_ONLY } from "#test/utils/testUtils"; const TIMEOUT = 20 * 1000; -// RATIO : HP Cost of Move +/** HP Cost of Move */ const RATIO = 3; -// PREDAMAGE : Amount of extra HP lost +/** Amount of extra HP lost */ const PREDAMAGE = 15; describe("Moves - CLANGOROUS_SOUL", () => { @@ -32,12 +30,12 @@ describe("Moves - CLANGOROUS_SOUL", () => { beforeEach(() => { game = new GameManager(phaserGame); - vi.spyOn(overrides, "STARTER_SPECIES_OVERRIDE", "get").mockReturnValue(Species.MAGIKARP); - vi.spyOn(overrides, "OPP_SPECIES_OVERRIDE", "get").mockReturnValue(Species.SNORLAX); - vi.spyOn(overrides, "STARTING_LEVEL_OVERRIDE", "get").mockReturnValue(100); - vi.spyOn(overrides, "OPP_LEVEL_OVERRIDE", "get").mockReturnValue(100); + game.override.starterSpecies(Species.MAGIKARP); + game.override.enemySpecies(Species.SNORLAX); + game.override.startingLevel(100); + game.override.enemyLevel(100); game.override.moveset([Moves.CLANGOROUS_SOUL]); - game.override.enemyMoveset([Moves.SPLASH]); + game.override.enemyMoveset(SPLASH_ONLY); }); //Bulbapedia Reference: https://bulbapedia.bulbagarden.net/wiki/Clangorous_Soul_(move) @@ -47,7 +45,6 @@ describe("Moves - CLANGOROUS_SOUL", () => { await game.startBattle([Species.MAGIKARP]); const leadPokemon = game.scene.getPlayerPokemon(); - expect(leadPokemon).toBeDefined(); const hpLost = Math.floor(leadPokemon.getMaxHp() / RATIO); game.doAttack(getMovePosition(game.scene, 0, Moves.CLANGOROUS_SOUL)); @@ -67,7 +64,6 @@ describe("Moves - CLANGOROUS_SOUL", () => { await game.startBattle([Species.MAGIKARP]); const leadPokemon = game.scene.getPlayerPokemon(); - expect(leadPokemon).toBeDefined(); const hpLost = Math.floor(leadPokemon.getMaxHp() / RATIO); //Here - BattleStat.SPD -> 0 and BattleStat.SPDEF -> 4 @@ -93,7 +89,6 @@ describe("Moves - CLANGOROUS_SOUL", () => { await game.startBattle([Species.MAGIKARP]); const leadPokemon = game.scene.getPlayerPokemon(); - expect(leadPokemon).toBeDefined(); leadPokemon.summonData.battleStats[BattleStat.ATK] = 6; leadPokemon.summonData.battleStats[BattleStat.DEF] = 6; @@ -118,7 +113,6 @@ describe("Moves - CLANGOROUS_SOUL", () => { await game.startBattle([Species.MAGIKARP]); const leadPokemon = game.scene.getPlayerPokemon(); - expect(leadPokemon).toBeDefined(); const hpLost = Math.floor(leadPokemon.getMaxHp() / RATIO); leadPokemon.hp = hpLost - PREDAMAGE; diff --git a/src/test/moves/double_team.test.ts b/src/test/moves/double_team.test.ts index 55820ee957b..48b322f5f11 100644 --- a/src/test/moves/double_team.test.ts +++ b/src/test/moves/double_team.test.ts @@ -1,10 +1,8 @@ import { BattleStat } from "#app/data/battle-stat.js"; import { Abilities } from "#app/enums/abilities.js"; -import { - TurnEndPhase, -} from "#app/phases"; -import GameManager from "#app/test/utils/gameManager"; -import { getMovePosition } from "#app/test/utils/gameManagerUtils"; +import { TurnEndPhase } from "#app/phases"; +import GameManager from "#test/utils/gameManager"; +import { getMovePosition } from "#test/utils/gameManagerUtils"; import { Moves } from "#enums/moves"; import { Species } from "#enums/species"; import Phaser from "phaser"; diff --git a/src/test/moves/dragon_rage.test.ts b/src/test/moves/dragon_rage.test.ts index b38a6f16513..2facff3428f 100644 --- a/src/test/moves/dragon_rage.test.ts +++ b/src/test/moves/dragon_rage.test.ts @@ -4,14 +4,14 @@ import { Species } from "#app/enums/species.js"; import { EnemyPokemon, PlayerPokemon } from "#app/field/pokemon"; import { modifierTypes } from "#app/modifier/modifier-type"; import { TurnEndPhase } from "#app/phases"; -import GameManager from "#app/test/utils/gameManager"; -import { getMovePosition } from "#app/test/utils/gameManagerUtils"; +import GameManager from "#test/utils/gameManager"; +import { getMovePosition } from "#test/utils/gameManagerUtils"; import { Abilities } from "#enums/abilities"; import { BattlerTagType } from "#enums/battler-tag-type"; import { Moves } from "#enums/moves"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; -import { SPLASH_ONLY } from "../utils/testUtils"; +import { SPLASH_ONLY } from "#test/utils/testUtils"; describe("Moves - Dragon Rage", () => { let phaserGame: Phaser.Game; diff --git a/src/test/moves/dynamax_cannon.test.ts b/src/test/moves/dynamax_cannon.test.ts index 4c010484c78..8af6a624797 100644 --- a/src/test/moves/dynamax_cannon.test.ts +++ b/src/test/moves/dynamax_cannon.test.ts @@ -1,8 +1,8 @@ import { BattlerIndex } from "#app/battle"; import { allMoves } from "#app/data/move"; import { DamagePhase, MoveEffectPhase, TurnStartPhase } from "#app/phases"; -import GameManager from "#app/test/utils/gameManager"; -import { getMovePosition } from "#app/test/utils/gameManagerUtils"; +import GameManager from "#test/utils/gameManager"; +import { getMovePosition } from "#test/utils/gameManagerUtils"; import { Moves } from "#enums/moves"; import { Species } from "#enums/species"; import Phaser from "phaser"; diff --git a/src/test/moves/fillet_away.test.ts b/src/test/moves/fillet_away.test.ts index 161bba2c284..a3922b18468 100644 --- a/src/test/moves/fillet_away.test.ts +++ b/src/test/moves/fillet_away.test.ts @@ -1,19 +1,17 @@ -import {afterEach, beforeAll, beforeEach, describe, expect, test, vi} from "vitest"; +import { afterEach, beforeAll, beforeEach, describe, expect, test } from "vitest"; import Phaser from "phaser"; -import GameManager from "#app/test/utils/gameManager"; -import overrides from "#app/overrides"; -import { - TurnEndPhase, -} from "#app/phases"; -import {getMovePosition} from "#app/test/utils/gameManagerUtils"; +import GameManager from "#test/utils/gameManager"; +import { TurnEndPhase } from "#app/phases"; +import { getMovePosition } from "#test/utils/gameManagerUtils"; import { Moves } from "#enums/moves"; import { Species } from "#enums/species"; import { BattleStat } from "#app/data/battle-stat"; +import { SPLASH_ONLY } from "#test/utils/testUtils"; const TIMEOUT = 20 * 1000; -// RATIO : HP Cost of Move +/** HP Cost of Move */ const RATIO = 2; -// PREDAMAGE : Amount of extra HP lost +/** Amount of extra HP lost */ const PREDAMAGE = 15; describe("Moves - FILLET AWAY", () => { @@ -32,12 +30,12 @@ describe("Moves - FILLET AWAY", () => { beforeEach(() => { game = new GameManager(phaserGame); - vi.spyOn(overrides, "STARTER_SPECIES_OVERRIDE", "get").mockReturnValue(Species.MAGIKARP); - vi.spyOn(overrides, "OPP_SPECIES_OVERRIDE", "get").mockReturnValue(Species.SNORLAX); - vi.spyOn(overrides, "STARTING_LEVEL_OVERRIDE", "get").mockReturnValue(100); - vi.spyOn(overrides, "OPP_LEVEL_OVERRIDE", "get").mockReturnValue(100); + game.override.starterSpecies(Species.MAGIKARP); + game.override.enemySpecies(Species.SNORLAX); + game.override.startingLevel(100); + game.override.enemyLevel(100); game.override.moveset([Moves.FILLET_AWAY]); - game.override.enemyMoveset([Moves.SPLASH]); + game.override.enemyMoveset(SPLASH_ONLY); }); //Bulbapedia Reference: https://bulbapedia.bulbagarden.net/wiki/fillet_away_(move) @@ -47,7 +45,6 @@ describe("Moves - FILLET AWAY", () => { await game.startBattle([Species.MAGIKARP]); const leadPokemon = game.scene.getPlayerPokemon(); - expect(leadPokemon).toBeDefined(); const hpLost = Math.floor(leadPokemon.getMaxHp() / RATIO); game.doAttack(getMovePosition(game.scene, 0, Moves.FILLET_AWAY)); @@ -65,7 +62,6 @@ describe("Moves - FILLET AWAY", () => { await game.startBattle([Species.MAGIKARP]); const leadPokemon = game.scene.getPlayerPokemon(); - expect(leadPokemon).toBeDefined(); const hpLost = Math.floor(leadPokemon.getMaxHp() / RATIO); //Here - BattleStat.SPD -> 0 and BattleStat.SPATK -> 3 @@ -87,7 +83,6 @@ describe("Moves - FILLET AWAY", () => { await game.startBattle([Species.MAGIKARP]); const leadPokemon = game.scene.getPlayerPokemon(); - expect(leadPokemon).toBeDefined(); leadPokemon.summonData.battleStats[BattleStat.ATK] = 6; leadPokemon.summonData.battleStats[BattleStat.SPATK] = 6; @@ -108,7 +103,6 @@ describe("Moves - FILLET AWAY", () => { await game.startBattle([Species.MAGIKARP]); const leadPokemon = game.scene.getPlayerPokemon(); - expect(leadPokemon).toBeDefined(); const hpLost = Math.floor(leadPokemon.getMaxHp() / RATIO); leadPokemon.hp = hpLost - PREDAMAGE; diff --git a/src/test/moves/fissure.test.ts b/src/test/moves/fissure.test.ts index 940c32e975a..f2f58212209 100644 --- a/src/test/moves/fissure.test.ts +++ b/src/test/moves/fissure.test.ts @@ -2,13 +2,13 @@ import { BattleStat } from "#app/data/battle-stat"; import { Species } from "#app/enums/species.js"; import { EnemyPokemon, PlayerPokemon } from "#app/field/pokemon"; import { DamagePhase, TurnEndPhase } from "#app/phases"; -import GameManager from "#app/test/utils/gameManager"; -import { getMovePosition } from "#app/test/utils/gameManagerUtils"; +import GameManager from "#test/utils/gameManager"; +import { getMovePosition } from "#test/utils/gameManagerUtils"; import { Abilities } from "#enums/abilities"; import { Moves } from "#enums/moves"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; -import { SPLASH_ONLY } from "../utils/testUtils"; +import { SPLASH_ONLY } from "#test/utils/testUtils"; describe("Moves - Fissure", () => { let phaserGame: Phaser.Game; diff --git a/src/test/moves/flame_burst.test.ts b/src/test/moves/flame_burst.test.ts index 69d11c79f93..0f9e311ca86 100644 --- a/src/test/moves/flame_burst.test.ts +++ b/src/test/moves/flame_burst.test.ts @@ -1,14 +1,10 @@ import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; import Phaser from "phaser"; -import GameManager from "#app/test/utils/gameManager"; -import Overrides from "#app/overrides"; +import GameManager from "#test/utils/gameManager"; import { Species } from "#enums/species"; -import { - SelectTargetPhase, - TurnEndPhase, -} from "#app/phases"; +import { SelectTargetPhase, TurnEndPhase } from "#app/phases"; import { Moves } from "#enums/moves"; -import { getMovePosition } from "#app/test/utils/gameManagerUtils"; +import { getMovePosition } from "#test/utils/gameManagerUtils"; import { Abilities } from "#app/enums/abilities.js"; import { allAbilities } from "#app/data/ability.js"; import Pokemon from "#app/field/pokemon.js"; @@ -40,14 +36,14 @@ describe("Moves - Flame Burst", () => { beforeEach(() => { game = new GameManager(phaserGame); - vi.spyOn(Overrides, "BATTLE_TYPE_OVERRIDE", "get").mockReturnValue("double"); - vi.spyOn(Overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([Moves.FLAME_BURST, Moves.SPLASH]); - vi.spyOn(Overrides, "NEVER_CRIT_OVERRIDE", "get").mockReturnValue(true); - vi.spyOn(Overrides, "ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.UNNERVE); - vi.spyOn(Overrides, "STARTING_WAVE_OVERRIDE", "get").mockReturnValue(4); - vi.spyOn(Overrides, "OPP_SPECIES_OVERRIDE", "get").mockReturnValue(Species.SHUCKLE); - vi.spyOn(Overrides, "OPP_ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.BALL_FETCH); - vi.spyOn(Overrides, "OPP_MOVESET_OVERRIDE", "get").mockReturnValue(new Array(4).fill(Moves.SPLASH)); + game.override.battleType("double"); + game.override.moveset([Moves.FLAME_BURST, Moves.SPLASH]); + game.override.disableCrits(); + game.override.ability(Abilities.UNNERVE); + game.override.startingWave(4); + game.override.enemySpecies(Species.SHUCKLE); + game.override.enemyAbility(Abilities.BALL_FETCH); + game.override.enemyMoveset(new Array(4).fill(Moves.SPLASH)); }); it("inflicts damage to the target's ally equal to 1/16 of its max HP", async () => { @@ -65,7 +61,7 @@ describe("Moves - Flame Burst", () => { }); it("does not inflict damage to the target's ally if the target was not affected by Flame Burst", async () => { - vi.spyOn(Overrides, "OPP_ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.FLASH_FIRE); + game.override.enemyAbility(Abilities.FLASH_FIRE); await game.startBattle([Species.PIKACHU, Species.PIKACHU]); const [ leftEnemy, rightEnemy ] = game.scene.getEnemyField(); diff --git a/src/test/moves/flower_shield.test.ts b/src/test/moves/flower_shield.test.ts index 82476ab5b90..a00c84f8714 100644 --- a/src/test/moves/flower_shield.test.ts +++ b/src/test/moves/flower_shield.test.ts @@ -2,17 +2,15 @@ import { BattleStat } from "#app/data/battle-stat.js"; import { SemiInvulnerableTag } from "#app/data/battler-tags.js"; import { Type } from "#app/data/type.js"; import { Biome } from "#app/enums/biome.js"; -import { - TurnEndPhase, -} from "#app/phases"; -import GameManager from "#app/test/utils/gameManager"; -import { getMovePosition } from "#app/test/utils/gameManagerUtils"; +import { TurnEndPhase } from "#app/phases"; +import GameManager from "#test/utils/gameManager"; +import { getMovePosition } from "#test/utils/gameManagerUtils"; import { Abilities } from "#enums/abilities"; import { Moves } from "#enums/moves"; import { Species } from "#enums/species"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; -import { SPLASH_ONLY } from "../utils/testUtils"; +import { SPLASH_ONLY } from "#test/utils/testUtils"; describe("Moves - Flower Shield", () => { let phaserGame: Phaser.Game; diff --git a/src/test/moves/follow_me.test.ts b/src/test/moves/follow_me.test.ts index eb41bf55a02..420dd7e0762 100644 --- a/src/test/moves/follow_me.test.ts +++ b/src/test/moves/follow_me.test.ts @@ -1,13 +1,9 @@ import { BattlerIndex } from "#app/battle.js"; import { Stat } from "#app/data/pokemon-stat"; import { Abilities } from "#app/enums/abilities.js"; -import { - CommandPhase, - SelectTargetPhase, - TurnEndPhase, -} from "#app/phases"; -import GameManager from "#app/test/utils/gameManager"; -import { getMovePosition } from "#app/test/utils/gameManagerUtils"; +import { CommandPhase, SelectTargetPhase, TurnEndPhase } from "#app/phases"; +import GameManager from "#test/utils/gameManager"; +import { getMovePosition } from "#test/utils/gameManagerUtils"; import { Moves } from "#enums/moves"; import { Species } from "#enums/species"; import Phaser from "phaser"; diff --git a/src/test/moves/fusion_bolt.test.ts b/src/test/moves/fusion_bolt.test.ts index 368c75b0f54..3ba4148db9f 100644 --- a/src/test/moves/fusion_bolt.test.ts +++ b/src/test/moves/fusion_bolt.test.ts @@ -1,8 +1,7 @@ -import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; +import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; import Phaser from "phaser"; -import GameManager from "#app/test/utils/gameManager"; -import overrides from "#app/overrides"; -import { getMovePosition } from "#app/test/utils/gameManagerUtils"; +import GameManager from "#test/utils/gameManager"; +import { getMovePosition } from "#test/utils/gameManagerUtils"; import { Species } from "#enums/species"; import { Moves } from "#enums/moves"; import { Abilities } from "#enums/abilities"; @@ -25,16 +24,16 @@ describe("Moves - Fusion Bolt", () => { beforeEach(() => { game = new GameManager(phaserGame); - vi.spyOn(overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([ fusionBolt ]); - vi.spyOn(overrides, "STARTING_LEVEL_OVERRIDE", "get").mockReturnValue(1); + game.override.moveset([ fusionBolt ]); + game.override.startingLevel(1); - vi.spyOn(overrides, "OPP_SPECIES_OVERRIDE", "get").mockReturnValue(Species.RESHIRAM); - vi.spyOn(overrides, "OPP_ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.ROUGH_SKIN); - vi.spyOn(overrides, "OPP_MOVESET_OVERRIDE", "get").mockReturnValue([ Moves.SPLASH, Moves.SPLASH, Moves.SPLASH, Moves.SPLASH ]); + game.override.enemySpecies(Species.RESHIRAM); + game.override.enemyAbility(Abilities.ROUGH_SKIN); + game.override.enemyMoveset([ Moves.SPLASH, Moves.SPLASH, Moves.SPLASH, Moves.SPLASH ]); - vi.spyOn(overrides, "BATTLE_TYPE_OVERRIDE", "get").mockReturnValue("single"); - vi.spyOn(overrides, "STARTING_WAVE_OVERRIDE", "get").mockReturnValue(97); - vi.spyOn(overrides, "NEVER_CRIT_OVERRIDE", "get").mockReturnValue(true); + game.override.battleType("single"); + game.override.startingWave(97); + game.override.disableCrits(); }); it("should not make contact", async() => { diff --git a/src/test/moves/fusion_flare.test.ts b/src/test/moves/fusion_flare.test.ts index 5ccbd82d25e..9862995be32 100644 --- a/src/test/moves/fusion_flare.test.ts +++ b/src/test/moves/fusion_flare.test.ts @@ -1,9 +1,8 @@ -import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; +import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; import Phaser from "phaser"; -import GameManager from "#app/test/utils/gameManager"; -import overrides from "#app/overrides"; +import GameManager from "#test/utils/gameManager"; import { TurnStartPhase } from "#app/phases"; -import { getMovePosition } from "#app/test/utils/gameManagerUtils"; +import { getMovePosition } from "#test/utils/gameManagerUtils"; import { StatusEffect } from "#app/data/status-effect"; import { Species } from "#enums/species"; import { Moves } from "#enums/moves"; @@ -26,15 +25,15 @@ describe("Moves - Fusion Flare", () => { beforeEach(() => { game = new GameManager(phaserGame); - vi.spyOn(overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([ fusionFlare ]); - vi.spyOn(overrides, "STARTING_LEVEL_OVERRIDE", "get").mockReturnValue(1); + game.override.moveset([ fusionFlare ]); + game.override.startingLevel(1); - vi.spyOn(overrides, "OPP_SPECIES_OVERRIDE", "get").mockReturnValue(Species.RESHIRAM); - vi.spyOn(overrides, "OPP_MOVESET_OVERRIDE", "get").mockReturnValue([ Moves.REST, Moves.REST, Moves.REST, Moves.REST ]); + game.override.enemySpecies(Species.RESHIRAM); + game.override.enemyMoveset([ Moves.REST, Moves.REST, Moves.REST, Moves.REST ]); - vi.spyOn(overrides, "BATTLE_TYPE_OVERRIDE", "get").mockReturnValue("single"); - vi.spyOn(overrides, "STARTING_WAVE_OVERRIDE", "get").mockReturnValue(97); - vi.spyOn(overrides, "NEVER_CRIT_OVERRIDE", "get").mockReturnValue(true); + game.override.battleType("single"); + game.override.startingWave(97); + game.override.disableCrits(); }); it("should thaw freeze status condition", async() => { diff --git a/src/test/moves/fusion_flare_bolt.test.ts b/src/test/moves/fusion_flare_bolt.test.ts index 83c7c0e5993..e04d766f848 100644 --- a/src/test/moves/fusion_flare_bolt.test.ts +++ b/src/test/moves/fusion_flare_bolt.test.ts @@ -1,9 +1,8 @@ import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; import Phaser from "phaser"; -import GameManager from "#app/test/utils/gameManager"; -import overrides from "#app/overrides"; +import GameManager from "#test/utils/gameManager"; import { MoveEffectPhase, MovePhase, MoveEndPhase, TurnStartPhase, DamagePhase } from "#app/phases"; -import { getMovePosition } from "#app/test/utils/gameManagerUtils"; +import { getMovePosition } from "#test/utils/gameManagerUtils"; import { Stat } from "#app/data/pokemon-stat"; import { allMoves } from "#app/data/move"; import { BattlerIndex } from "#app/battle"; @@ -29,15 +28,15 @@ describe("Moves - Fusion Flare and Fusion Bolt", () => { beforeEach(() => { game = new GameManager(phaserGame); - vi.spyOn(overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([ fusionFlare.id, fusionBolt.id ]); - vi.spyOn(overrides, "STARTING_LEVEL_OVERRIDE", "get").mockReturnValue(1); + game.override.moveset([ fusionFlare.id, fusionBolt.id ]); + game.override.startingLevel(1); - vi.spyOn(overrides, "OPP_SPECIES_OVERRIDE", "get").mockReturnValue(Species.RESHIRAM); - vi.spyOn(overrides, "OPP_MOVESET_OVERRIDE", "get").mockReturnValue([ Moves.REST, Moves.REST, Moves.REST, Moves.REST ]); + game.override.enemySpecies(Species.RESHIRAM); + game.override.enemyMoveset([ Moves.REST, Moves.REST, Moves.REST, Moves.REST ]); - vi.spyOn(overrides, "BATTLE_TYPE_OVERRIDE", "get").mockReturnValue("double"); - vi.spyOn(overrides, "STARTING_WAVE_OVERRIDE", "get").mockReturnValue(97); - vi.spyOn(overrides, "NEVER_CRIT_OVERRIDE", "get").mockReturnValue(true); + game.override.battleType("double"); + game.override.startingWave(97); + game.override.disableCrits(); vi.spyOn(fusionFlare, "calculateBattlePower"); vi.spyOn(fusionBolt, "calculateBattlePower"); @@ -133,7 +132,7 @@ describe("Moves - Fusion Flare and Fusion Bolt", () => { }, 20000); it("FUSION_FLARE should not double power of subsequent FUSION_BOLT if a move succeeded in between", async() => { - vi.spyOn(overrides, "OPP_MOVESET_OVERRIDE", "get").mockReturnValue([ Moves.SPLASH, Moves.SPLASH, Moves.SPLASH, Moves.SPLASH ]); + game.override.enemyMoveset([ Moves.SPLASH, Moves.SPLASH, Moves.SPLASH, Moves.SPLASH ]); await game.startBattle([ Species.ZEKROM, Species.ZEKROM @@ -194,7 +193,7 @@ describe("Moves - Fusion Flare and Fusion Bolt", () => { }, 20000); it("FUSION_FLARE and FUSION_BOLT alternating throughout turn should double power of subsequent moves", async() => { - vi.spyOn(overrides, "OPP_MOVESET_OVERRIDE", "get").mockReturnValue([ fusionFlare.id, fusionFlare.id, fusionFlare.id, fusionFlare.id ]); + game.override.enemyMoveset([ fusionFlare.id, fusionFlare.id, fusionFlare.id, fusionFlare.id ]); await game.startBattle([ Species.ZEKROM, Species.ZEKROM @@ -258,7 +257,7 @@ describe("Moves - Fusion Flare and Fusion Bolt", () => { }, 20000); it("FUSION_FLARE and FUSION_BOLT alternating throughout turn should double power of subsequent moves if moves are aimed at allies", async() => { - vi.spyOn(overrides, "OPP_MOVESET_OVERRIDE", "get").mockReturnValue([ fusionFlare.id, fusionFlare.id, fusionFlare.id, fusionFlare.id ]); + game.override.enemyMoveset([ fusionFlare.id, fusionFlare.id, fusionFlare.id, fusionFlare.id ]); await game.startBattle([ Species.ZEKROM, Species.ZEKROM diff --git a/src/test/moves/gastro_acid.test.ts b/src/test/moves/gastro_acid.test.ts index 0ffa8d9180b..cd1f0e4ab12 100644 --- a/src/test/moves/gastro_acid.test.ts +++ b/src/test/moves/gastro_acid.test.ts @@ -1,15 +1,13 @@ import { BattlerIndex } from "#app/battle.js"; import { Stat } from "#app/data/pokemon-stat.js"; import { Abilities } from "#app/enums/abilities.js"; -import { - Moves -} from "#app/enums/moves.js"; +import { Moves } from "#app/enums/moves.js"; import { Species } from "#app/enums/species.js"; import { MoveResult } from "#app/field/pokemon.js"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; -import GameManager from "../utils/gameManager"; -import { getMovePosition } from "../utils/gameManagerUtils"; -import { SPLASH_ONLY } from "../utils/testUtils"; +import GameManager from "#test/utils/gameManager"; +import { getMovePosition } from "#test/utils/gameManagerUtils"; +import { SPLASH_ONLY } from "#test/utils/testUtils"; const TIMEOUT = 20 * 1000; diff --git a/src/test/moves/glaive_rush.test.ts b/src/test/moves/glaive_rush.test.ts index 9548694183c..fc9f6ee1c7f 100644 --- a/src/test/moves/glaive_rush.test.ts +++ b/src/test/moves/glaive_rush.test.ts @@ -1,8 +1,8 @@ import { allMoves } from "#app/data/move.js"; import { Abilities } from "#app/enums/abilities.js"; import { DamagePhase, TurnEndPhase } from "#app/phases"; -import GameManager from "#app/test/utils/gameManager"; -import { getMovePosition } from "#app/test/utils/gameManagerUtils"; +import GameManager from "#test/utils/gameManager"; +import { getMovePosition } from "#test/utils/gameManagerUtils"; import { Moves } from "#enums/moves"; import { Species } from "#enums/species"; import Phaser from "phaser"; diff --git a/src/test/moves/growth.test.ts b/src/test/moves/growth.test.ts index 3d4a37fda73..bfa3cc54896 100644 --- a/src/test/moves/growth.test.ts +++ b/src/test/moves/growth.test.ts @@ -1,12 +1,8 @@ import { BattleStat } from "#app/data/battle-stat"; import { Stat } from "#app/data/pokemon-stat"; -import { - CommandPhase, - EnemyCommandPhase, - TurnInitPhase, -} from "#app/phases"; -import GameManager from "#app/test/utils/gameManager"; -import { getMovePosition } from "#app/test/utils/gameManagerUtils"; +import { CommandPhase, EnemyCommandPhase, TurnInitPhase } from "#app/phases"; +import GameManager from "#test/utils/gameManager"; +import { getMovePosition } from "#test/utils/gameManagerUtils"; import { Command } from "#app/ui/command-ui-handler"; import { Mode } from "#app/ui/ui"; import { Abilities } from "#enums/abilities"; diff --git a/src/test/moves/hard_press.test.ts b/src/test/moves/hard_press.test.ts index 89f8e14169f..6a45e49137b 100644 --- a/src/test/moves/hard_press.test.ts +++ b/src/test/moves/hard_press.test.ts @@ -1,15 +1,13 @@ import { allMoves } from "#app/data/move.js"; -import { - MoveEffectPhase -} from "#app/phases"; -import GameManager from "#app/test/utils/gameManager"; -import { getMovePosition } from "#app/test/utils/gameManagerUtils"; +import { MoveEffectPhase } from "#app/phases"; +import GameManager from "#test/utils/gameManager"; +import { getMovePosition } from "#test/utils/gameManagerUtils"; import { Abilities } from "#enums/abilities"; import { Moves } from "#enums/moves"; import { Species } from "#enums/species"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; -import { SPLASH_ONLY } from "../utils/testUtils"; +import { SPLASH_ONLY } from "#test/utils/testUtils"; describe("Moves - Hard Press", () => { let phaserGame: Phaser.Game; diff --git a/src/test/moves/hyper_beam.test.ts b/src/test/moves/hyper_beam.test.ts index 623b24dbb3c..e7d3454ba32 100644 --- a/src/test/moves/hyper_beam.test.ts +++ b/src/test/moves/hyper_beam.test.ts @@ -4,10 +4,10 @@ import { BattlerTagType } from "#app/enums/battler-tag-type.js"; import { Moves } from "#app/enums/moves.js"; import { Species } from "#app/enums/species.js"; import { BerryPhase, TurnEndPhase } from "#app/phases.js"; -import GameManager from "#app/test/utils/gameManager"; +import GameManager from "#test/utils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; -import { getMovePosition } from "../utils/gameManagerUtils"; +import { getMovePosition } from "#test/utils/gameManagerUtils"; const TIMEOUT = 20 * 1000; // 20 sec timeout for all tests diff --git a/src/test/moves/light_screen.test.ts b/src/test/moves/light_screen.test.ts index 52c1b85fa7a..e47b6fe93ea 100644 --- a/src/test/moves/light_screen.test.ts +++ b/src/test/moves/light_screen.test.ts @@ -3,11 +3,9 @@ import Move, { allMoves } from "#app/data/move.js"; import { Abilities } from "#app/enums/abilities.js"; import { ArenaTagType } from "#app/enums/arena-tag-type.js"; import Pokemon from "#app/field/pokemon.js"; -import { - TurnEndPhase, -} from "#app/phases"; -import GameManager from "#app/test/utils/gameManager"; -import { getMovePosition } from "#app/test/utils/gameManagerUtils"; +import { TurnEndPhase } from "#app/phases"; +import GameManager from "#test/utils/gameManager"; +import { getMovePosition } from "#test/utils/gameManagerUtils"; import { NumberHolder } from "#app/utils.js"; import { Moves } from "#enums/moves"; import { Species } from "#enums/species"; diff --git a/src/test/moves/magnet_rise.test.ts b/src/test/moves/magnet_rise.test.ts index e5dfb94468e..9b3c6c457e2 100644 --- a/src/test/moves/magnet_rise.test.ts +++ b/src/test/moves/magnet_rise.test.ts @@ -1,5 +1,5 @@ import { CommandPhase, TurnEndPhase } from "#app/phases.js"; -import GameManager from "#app/test/utils/gameManager"; +import GameManager from "#test/utils/gameManager"; import { Moves } from "#enums/moves"; import { Species } from "#enums/species"; import Phaser from "phaser"; diff --git a/src/test/moves/make_it_rain.test.ts b/src/test/moves/make_it_rain.test.ts index fcfb1daa2cf..850f8f644b8 100644 --- a/src/test/moves/make_it_rain.test.ts +++ b/src/test/moves/make_it_rain.test.ts @@ -1,17 +1,13 @@ import { BattleStat } from "#app/data/battle-stat.js"; -import { - MoveEffectPhase, - MoveEndPhase, - StatChangePhase, -} from "#app/phases"; -import GameManager from "#app/test/utils/gameManager"; -import { getMovePosition } from "#app/test/utils/gameManagerUtils"; +import { MoveEffectPhase, MoveEndPhase, StatChangePhase } from "#app/phases"; +import GameManager from "#test/utils/gameManager"; +import { getMovePosition } from "#test/utils/gameManagerUtils"; import { Abilities } from "#enums/abilities"; import { Moves } from "#enums/moves"; import { Species } from "#enums/species"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; -import { SPLASH_ONLY } from "../utils/testUtils"; +import { SPLASH_ONLY } from "#test/utils/testUtils"; const TIMEOUT = 20 * 1000; diff --git a/src/test/moves/multi_target.test.ts b/src/test/moves/multi_target.test.ts index b7c4303afb3..a4ed936c5ee 100644 --- a/src/test/moves/multi_target.test.ts +++ b/src/test/moves/multi_target.test.ts @@ -2,12 +2,12 @@ import { getMoveTargets } from "#app/data/move.js"; import { Abilities } from "#app/enums/abilities.js"; import { Species } from "#app/enums/species.js"; import { TurnEndPhase } from "#app/phases.js"; -import GameManager from "#app/test/utils/gameManager"; +import GameManager from "#test/utils/gameManager"; import { Moves } from "#enums/moves"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; -import { getMovePosition } from "../utils/gameManagerUtils"; -import { SPLASH_ONLY } from "../utils/testUtils"; +import { getMovePosition } from "#test/utils/gameManagerUtils"; +import { SPLASH_ONLY } from "#test/utils/testUtils"; const TIMEOUT = 20 * 1000; @@ -73,7 +73,6 @@ async function checkTargetMultiplier(game: GameManager, attackMove: Moves, killA await game.startBattle(); const playerPokemonRepr = game.scene.getPlayerField(); - expect(playerPokemonRepr).not.toBeUndefined(); killAllyAndEnemy(game, killAlly, killSecondEnemy); diff --git a/src/test/moves/octolock.test.ts b/src/test/moves/octolock.test.ts index 1e19a3dc1c2..8988109f431 100644 --- a/src/test/moves/octolock.test.ts +++ b/src/test/moves/octolock.test.ts @@ -1,14 +1,14 @@ import { BattleStat } from "#app/data/battle-stat"; import { TrappedTag } from "#app/data/battler-tags.js"; import { CommandPhase, MoveEndPhase, TurnInitPhase } from "#app/phases"; -import GameManager from "#app/test/utils/gameManager"; -import { getMovePosition } from "#app/test/utils/gameManagerUtils"; +import GameManager from "#test/utils/gameManager"; +import { getMovePosition } from "#test/utils/gameManagerUtils"; import { Abilities } from "#enums/abilities"; import { Moves } from "#enums/moves"; import { Species } from "#enums/species"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; -import { SPLASH_ONLY } from "../utils/testUtils"; +import { SPLASH_ONLY } from "#test/utils/testUtils"; describe("Moves - Octolock", () => { describe("integration tests", () => { diff --git a/src/test/moves/purify.test.ts b/src/test/moves/purify.test.ts index cbc107a3def..4d108c43d4b 100644 --- a/src/test/moves/purify.test.ts +++ b/src/test/moves/purify.test.ts @@ -1,10 +1,8 @@ import { Status, StatusEffect } from "#app/data/status-effect.js"; import { EnemyPokemon, PlayerPokemon } from "#app/field/pokemon.js"; -import { - MoveEndPhase, -} from "#app/phases"; -import GameManager from "#app/test/utils/gameManager"; -import { getMovePosition } from "#app/test/utils/gameManagerUtils"; +import { MoveEndPhase } from "#app/phases"; +import GameManager from "#test/utils/gameManager"; +import { getMovePosition } from "#test/utils/gameManagerUtils"; import { Moves } from "#enums/moves"; import { Species } from "#enums/species"; import Phaser from "phaser"; diff --git a/src/test/moves/rage_powder.test.ts b/src/test/moves/rage_powder.test.ts index bc533e1313e..92cdcc9b4f7 100644 --- a/src/test/moves/rage_powder.test.ts +++ b/src/test/moves/rage_powder.test.ts @@ -1,11 +1,7 @@ import { BattlerIndex } from "#app/battle.js"; -import { - CommandPhase, - SelectTargetPhase, - TurnEndPhase, -} from "#app/phases"; -import GameManager from "#app/test/utils/gameManager"; -import { getMovePosition } from "#app/test/utils/gameManagerUtils"; +import { CommandPhase, SelectTargetPhase, TurnEndPhase } from "#app/phases"; +import GameManager from "#test/utils/gameManager"; +import { getMovePosition } from "#test/utils/gameManagerUtils"; import { Abilities } from "#enums/abilities"; import { Moves } from "#enums/moves"; import { Species } from "#enums/species"; diff --git a/src/test/moves/reflect.test.ts b/src/test/moves/reflect.test.ts index 6fcd2268d12..821d9df437a 100644 --- a/src/test/moves/reflect.test.ts +++ b/src/test/moves/reflect.test.ts @@ -3,11 +3,9 @@ import Move, { allMoves } from "#app/data/move.js"; import { Abilities } from "#app/enums/abilities.js"; import { ArenaTagType } from "#app/enums/arena-tag-type.js"; import Pokemon from "#app/field/pokemon.js"; -import { - TurnEndPhase, -} from "#app/phases"; -import GameManager from "#app/test/utils/gameManager"; -import { getMovePosition } from "#app/test/utils/gameManagerUtils"; +import { TurnEndPhase } from "#app/phases"; +import GameManager from "#test/utils/gameManager"; +import { getMovePosition } from "#test/utils/gameManagerUtils"; import { NumberHolder } from "#app/utils.js"; import { Moves } from "#enums/moves"; import { Species } from "#enums/species"; diff --git a/src/test/moves/rollout.test.ts b/src/test/moves/rollout.test.ts index 73457c9dcce..ad323c447f5 100644 --- a/src/test/moves/rollout.test.ts +++ b/src/test/moves/rollout.test.ts @@ -1,13 +1,13 @@ import { allMoves } from "#app/data/move.js"; import { CommandPhase } from "#app/phases"; -import GameManager from "#app/test/utils/gameManager"; -import { getMovePosition } from "#app/test/utils/gameManagerUtils"; +import GameManager from "#test/utils/gameManager"; +import { getMovePosition } from "#test/utils/gameManagerUtils"; import { Abilities } from "#enums/abilities"; import { Moves } from "#enums/moves"; import { Species } from "#enums/species"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; -import { SPLASH_ONLY } from "../utils/testUtils"; +import { SPLASH_ONLY } from "#test/utils/testUtils"; describe("Moves - Rollout", () => { let phaserGame: Phaser.Game; diff --git a/src/test/moves/roost.test.ts b/src/test/moves/roost.test.ts index fe89a0a0a10..9ebd52e457d 100644 --- a/src/test/moves/roost.test.ts +++ b/src/test/moves/roost.test.ts @@ -3,10 +3,10 @@ import { BattlerTagType } from "#app/enums/battler-tag-type.js"; import { Moves } from "#app/enums/moves.js"; import { Species } from "#app/enums/species.js"; import { MoveEffectPhase, TurnEndPhase } from "#app/phases.js"; -import GameManager from "#app/test/utils/gameManager"; +import GameManager from "#test/utils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, test } from "vitest"; -import { getMovePosition } from "../utils/gameManagerUtils"; +import { getMovePosition } from "#test/utils/gameManagerUtils"; const TIMEOUT = 20 * 1000; @@ -40,11 +40,7 @@ describe("Moves - Roost", () => { async () => { await game.startBattle([Species.MAGIKARP]); - const leadPokemon = game.scene.getPlayerPokemon(); - expect(leadPokemon).toBeDefined(); - const enemyPokemon = game.scene.getEnemyPokemon(); - expect(enemyPokemon).toBeDefined(); const enemyStartingHp = enemyPokemon.hp; diff --git a/src/test/moves/spikes.test.ts b/src/test/moves/spikes.test.ts index a19c28b2c1e..1f5bb757ee4 100644 --- a/src/test/moves/spikes.test.ts +++ b/src/test/moves/spikes.test.ts @@ -1,7 +1,5 @@ -import { - CommandPhase -} from "#app/phases"; -import GameManager from "#app/test/utils/gameManager"; +import { CommandPhase } from "#app/phases"; +import GameManager from "#test/utils/gameManager"; import { Abilities } from "#enums/abilities"; import { Moves } from "#enums/moves"; import { Species } from "#enums/species"; diff --git a/src/test/moves/spit_up.test.ts b/src/test/moves/spit_up.test.ts index 0fc01821838..298c96d6d66 100644 --- a/src/test/moves/spit_up.test.ts +++ b/src/test/moves/spit_up.test.ts @@ -4,13 +4,13 @@ import { allMoves } from "#app/data/move.js"; import { BattlerTagType } from "#app/enums/battler-tag-type.js"; import { MoveResult, TurnMove } from "#app/field/pokemon.js"; import { MovePhase, TurnInitPhase } from "#app/phases"; -import GameManager from "#app/test/utils/gameManager"; +import GameManager from "#test/utils/gameManager"; import { Abilities } from "#enums/abilities"; import { Moves } from "#enums/moves"; import { Species } from "#enums/species"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; -import { SPLASH_ONLY } from "../utils/testUtils"; +import { SPLASH_ONLY } from "#test/utils/testUtils"; describe("Moves - Spit Up", () => { let phaserGame: Phaser.Game; diff --git a/src/test/moves/spotlight.test.ts b/src/test/moves/spotlight.test.ts index 8170c42dfec..0893ba975d7 100644 --- a/src/test/moves/spotlight.test.ts +++ b/src/test/moves/spotlight.test.ts @@ -1,12 +1,8 @@ import { BattlerIndex } from "#app/battle.js"; import { Stat } from "#app/data/pokemon-stat"; -import { - CommandPhase, - SelectTargetPhase, - TurnEndPhase, -} from "#app/phases"; -import GameManager from "#app/test/utils/gameManager"; -import { getMovePosition } from "#app/test/utils/gameManagerUtils"; +import { CommandPhase, SelectTargetPhase, TurnEndPhase } from "#app/phases"; +import GameManager from "#test/utils/gameManager"; +import { getMovePosition } from "#test/utils/gameManagerUtils"; import { Moves } from "#enums/moves"; import { Species } from "#enums/species"; import Phaser from "phaser"; diff --git a/src/test/moves/stockpile.test.ts b/src/test/moves/stockpile.test.ts index 81bd65ce582..604b08745eb 100644 --- a/src/test/moves/stockpile.test.ts +++ b/src/test/moves/stockpile.test.ts @@ -2,14 +2,14 @@ import { BattleStat } from "#app/data/battle-stat"; import { StockpilingTag } from "#app/data/battler-tags.js"; import { MoveResult, TurnMove } from "#app/field/pokemon.js"; import { CommandPhase, TurnInitPhase } from "#app/phases"; -import GameManager from "#app/test/utils/gameManager"; -import { getMovePosition } from "#app/test/utils/gameManagerUtils"; +import GameManager from "#test/utils/gameManager"; +import { getMovePosition } from "#test/utils/gameManagerUtils"; import { Abilities } from "#enums/abilities"; import { Moves } from "#enums/moves"; import { Species } from "#enums/species"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; -import { SPLASH_ONLY } from "../utils/testUtils"; +import { SPLASH_ONLY } from "#test/utils/testUtils"; describe("Moves - Stockpile", () => { describe("integration tests", () => { diff --git a/src/test/moves/swallow.test.ts b/src/test/moves/swallow.test.ts index 7c3d3ae1613..9a0a19dce2b 100644 --- a/src/test/moves/swallow.test.ts +++ b/src/test/moves/swallow.test.ts @@ -3,13 +3,13 @@ import { StockpilingTag } from "#app/data/battler-tags.js"; import { BattlerTagType } from "#app/enums/battler-tag-type.js"; import { MoveResult, TurnMove } from "#app/field/pokemon.js"; import { MovePhase, TurnInitPhase } from "#app/phases"; -import GameManager from "#app/test/utils/gameManager"; +import GameManager from "#test/utils/gameManager"; import { Abilities } from "#enums/abilities"; import { Moves } from "#enums/moves"; import { Species } from "#enums/species"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; -import { SPLASH_ONLY } from "../utils/testUtils"; +import { SPLASH_ONLY } from "#test/utils/testUtils"; describe("Moves - Swallow", () => { let phaserGame: Phaser.Game; diff --git a/src/test/moves/tackle.test.ts b/src/test/moves/tackle.test.ts index 94eee4f20fa..512b23ae363 100644 --- a/src/test/moves/tackle.test.ts +++ b/src/test/moves/tackle.test.ts @@ -1,10 +1,7 @@ import { Stat } from "#app/data/pokemon-stat"; -import { - CommandPhase, - EnemyCommandPhase, TurnEndPhase, -} from "#app/phases"; -import GameManager from "#app/test/utils/gameManager"; -import { getMovePosition } from "#app/test/utils/gameManagerUtils"; +import { CommandPhase, EnemyCommandPhase, TurnEndPhase } from "#app/phases"; +import GameManager from "#test/utils/gameManager"; +import { getMovePosition } from "#test/utils/gameManagerUtils"; import { Command } from "#app/ui/command-ui-handler"; import { Mode } from "#app/ui/ui"; import { Moves } from "#enums/moves"; diff --git a/src/test/moves/tail_whip.test.ts b/src/test/moves/tail_whip.test.ts index 539829f4003..7630b31f7de 100644 --- a/src/test/moves/tail_whip.test.ts +++ b/src/test/moves/tail_whip.test.ts @@ -1,11 +1,7 @@ import { BattleStat } from "#app/data/battle-stat"; -import { - CommandPhase, - EnemyCommandPhase, - TurnInitPhase, -} from "#app/phases"; -import GameManager from "#app/test/utils/gameManager"; -import { getMovePosition } from "#app/test/utils/gameManagerUtils"; +import { CommandPhase, EnemyCommandPhase, TurnInitPhase } from "#app/phases"; +import GameManager from "#test/utils/gameManager"; +import { getMovePosition } from "#test/utils/gameManagerUtils"; import { Command } from "#app/ui/command-ui-handler"; import { Mode } from "#app/ui/ui"; import { Abilities } from "#enums/abilities"; diff --git a/src/test/moves/tailwind.test.ts b/src/test/moves/tailwind.test.ts index d2a90dd2ed5..d88de680d8a 100644 --- a/src/test/moves/tailwind.test.ts +++ b/src/test/moves/tailwind.test.ts @@ -1,16 +1,14 @@ import { ArenaTagSide } from "#app/data/arena-tag.js"; import { Stat } from "#app/data/pokemon-stat.js"; import { ArenaTagType } from "#app/enums/arena-tag-type.js"; -import { - TurnEndPhase, -} from "#app/phases"; -import GameManager from "#app/test/utils/gameManager"; -import { getMovePosition } from "#app/test/utils/gameManagerUtils"; +import { TurnEndPhase } from "#app/phases"; +import GameManager from "#test/utils/gameManager"; +import { getMovePosition } from "#test/utils/gameManagerUtils"; import { Moves } from "#enums/moves"; import { Species } from "#enums/species"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; -import { SPLASH_ONLY } from "../utils/testUtils"; +import { SPLASH_ONLY } from "#test/utils/testUtils"; describe("Abilities - Wind Rider", () => { let phaserGame: Phaser.Game; diff --git a/src/test/moves/thousand_arrows.test.ts b/src/test/moves/thousand_arrows.test.ts index a7fbee3bebd..3b15610f896 100644 --- a/src/test/moves/thousand_arrows.test.ts +++ b/src/test/moves/thousand_arrows.test.ts @@ -1,11 +1,8 @@ import { Abilities } from "#app/enums/abilities.js"; import { BattlerTagType } from "#app/enums/battler-tag-type.js"; -import { - BerryPhase, - MoveEffectPhase -} from "#app/phases"; -import GameManager from "#app/test/utils/gameManager"; -import { getMovePosition } from "#app/test/utils/gameManagerUtils"; +import { BerryPhase, MoveEffectPhase } from "#app/phases"; +import GameManager from "#test/utils/gameManager"; +import { getMovePosition } from "#test/utils/gameManagerUtils"; import { Moves } from "#enums/moves"; import { Species } from "#enums/species"; import Phaser from "phaser"; diff --git a/src/test/moves/tidy_up.test.ts b/src/test/moves/tidy_up.test.ts index b1292de0d27..83e1dda07cb 100644 --- a/src/test/moves/tidy_up.test.ts +++ b/src/test/moves/tidy_up.test.ts @@ -1,14 +1,14 @@ import { BattleStat } from "#app/data/battle-stat.js"; import { ArenaTagType } from "#app/enums/arena-tag-type.js"; import { MoveEndPhase, TurnEndPhase } from "#app/phases"; -import GameManager from "#app/test/utils/gameManager"; -import { getMovePosition } from "#app/test/utils/gameManagerUtils"; +import GameManager from "#test/utils/gameManager"; +import { getMovePosition } from "#test/utils/gameManagerUtils"; import { Abilities } from "#enums/abilities"; import { Moves } from "#enums/moves"; import { Species } from "#enums/species"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; -import { SPLASH_ONLY } from "../utils/testUtils"; +import { SPLASH_ONLY } from "#test/utils/testUtils"; describe("Moves - Tidy Up", () => { diff --git a/src/test/phases/phases.test.ts b/src/test/phases/phases.test.ts index 3d6da362004..c61eb1d41b8 100644 --- a/src/test/phases/phases.test.ts +++ b/src/test/phases/phases.test.ts @@ -1,9 +1,9 @@ import BattleScene from "#app/battle-scene.js"; import { LoginPhase, TitlePhase, UnavailablePhase } from "#app/phases.js"; import { Mode } from "#app/ui/ui.js"; -import {afterEach, beforeAll, beforeEach, describe, expect, it} from "vitest"; +import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; import Phaser from "phaser"; -import GameManager from "#app/test/utils/gameManager"; +import GameManager from "#test/utils/gameManager"; describe("Phases", () => { let phaserGame: Phaser.Game; diff --git a/src/test/settingMenu/helpers/inGameManip.ts b/src/test/settingMenu/helpers/inGameManip.ts index 1edab75fd27..e18a82ca571 100644 --- a/src/test/settingMenu/helpers/inGameManip.ts +++ b/src/test/settingMenu/helpers/inGameManip.ts @@ -1,9 +1,6 @@ -import { - getIconForLatestInput, - getSettingNameWithKeycode -} from "#app/configs/inputs/configHandler"; -import {expect} from "vitest"; -import {SettingKeyboard} from "#app/system/settings/settings-keyboard"; +import { getIconForLatestInput, getSettingNameWithKeycode } from "#app/configs/inputs/configHandler"; +import { expect } from "vitest"; +import { SettingKeyboard } from "#app/system/settings/settings-keyboard"; export class InGameManip { private config; diff --git a/src/test/settingMenu/helpers/menuManip.ts b/src/test/settingMenu/helpers/menuManip.ts index 7b4080c3d75..f33867476cf 100644 --- a/src/test/settingMenu/helpers/menuManip.ts +++ b/src/test/settingMenu/helpers/menuManip.ts @@ -1,14 +1,6 @@ -import {expect} from "vitest"; -import { - deleteBind, - getIconWithKeycode, - getIconWithSettingName, - getKeyWithKeycode, - getKeyWithSettingName, - assign, - getSettingNameWithKeycode, canIAssignThisKey, canIDeleteThisKey, canIOverrideThisSetting -} from "#app/configs/inputs/configHandler"; -import {SettingKeyboard} from "#app/system/settings/settings-keyboard"; +import { expect } from "vitest"; +import { deleteBind, getIconWithKeycode, getIconWithSettingName, getKeyWithKeycode, getKeyWithSettingName, assign, getSettingNameWithKeycode, canIAssignThisKey, canIDeleteThisKey, canIOverrideThisSetting } from "#app/configs/inputs/configHandler"; +import { SettingKeyboard } from "#app/system/settings/settings-keyboard"; export class MenuManip { private config; diff --git a/src/test/settingMenu/rebinding_setting.test.ts b/src/test/settingMenu/rebinding_setting.test.ts index 010ad427d6e..3bc17109c95 100644 --- a/src/test/settingMenu/rebinding_setting.test.ts +++ b/src/test/settingMenu/rebinding_setting.test.ts @@ -1,14 +1,11 @@ -import {beforeEach, describe, expect, it} from "vitest"; -import {deepCopy} from "#app/utils"; -import { - getKeyWithKeycode, - getKeyWithSettingName, -} from "#app/configs/inputs/configHandler"; -import {MenuManip} from "#app/test/settingMenu/helpers/menuManip"; -import {InGameManip} from "#app/test/settingMenu/helpers/inGameManip"; -import {InterfaceConfig} from "#app/inputs-controller"; +import { beforeEach, describe, expect, it } from "vitest"; +import { deepCopy } from "#app/utils"; +import { getKeyWithKeycode, getKeyWithSettingName } from "#app/configs/inputs/configHandler"; +import { MenuManip } from "#test/settingMenu/helpers/menuManip"; +import { InGameManip } from "#test/settingMenu/helpers/inGameManip"; +import { InterfaceConfig } from "#app/inputs-controller"; import cfg_keyboard_qwerty from "#app/configs/inputs/cfg_keyboard_qwerty"; -import {SettingKeyboard} from "#app/system/settings/settings-keyboard"; +import { SettingKeyboard } from "#app/system/settings/settings-keyboard"; import { Device } from "#enums/devices"; import { Button } from "#enums/buttons"; diff --git a/src/test/sprites/pokemonSprite.test.ts b/src/test/sprites/pokemonSprite.test.ts index 0fd725b2f58..ce847751b6b 100644 --- a/src/test/sprites/pokemonSprite.test.ts +++ b/src/test/sprites/pokemonSprite.test.ts @@ -2,7 +2,7 @@ import { beforeAll, describe, expect, it } from "vitest"; import _masterlist from "../../../public/images/pokemon/variant/_masterlist.json"; import fs from "fs"; import path from "path"; -import { getAppRootDir } from "#app/test/sprites/spritesUtils"; +import { getAppRootDir } from "#test/sprites/spritesUtils"; type PokemonVariantMasterlist = typeof _masterlist; @@ -29,10 +29,10 @@ describe("check if every variant's sprite are correctly set", () => { }); it("data should not be undefined", () => { - expect(masterlist).not.toBeUndefined(); - expect(expVariant).not.toBeUndefined(); - expect(femaleVariant).not.toBeUndefined(); - expect(backVariant).not.toBeUndefined(); + expect(masterlist).toBeDefined(); + expect(expVariant).toBeDefined(); + expect(femaleVariant).toBeDefined(); + expect(backVariant).toBeDefined(); }); function getMissingMasterlist(mlist: any, dirpath: string, excludes: string[] = []): string[] { diff --git a/src/test/ui/starter-select.test.ts b/src/test/ui/starter-select.test.ts index 95a4605fd68..eae5b3fe3a5 100644 --- a/src/test/ui/starter-select.test.ts +++ b/src/test/ui/starter-select.test.ts @@ -1,20 +1,16 @@ -import {afterEach, beforeAll, beforeEach, describe, expect, it} from "vitest"; +import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; import Phaser from "phaser"; -import GameManager from "#app/test/utils/gameManager"; -import { - EncounterPhase, - SelectStarterPhase, - TitlePhase, -} from "#app/phases"; -import {Mode} from "#app/ui/ui"; -import {GameModes} from "#app/game-mode"; +import GameManager from "#test/utils/gameManager"; +import { EncounterPhase, SelectStarterPhase, TitlePhase } from "#app/phases"; +import { Mode } from "#app/ui/ui"; +import { GameModes } from "#app/game-mode"; import StarterSelectUiHandler from "#app/ui/starter-select-ui-handler"; import OptionSelectUiHandler from "#app/ui/settings/option-select-ui-handler"; import SaveSlotSelectUiHandler from "#app/ui/save-slot-select-ui-handler"; -import {OptionSelectItem} from "#app/ui/abstact-option-select-ui-handler"; -import {Gender} from "#app/data/gender"; -import {allSpecies} from "#app/data/pokemon-species"; -import {Nature} from "#app/data/nature"; +import { OptionSelectItem } from "#app/ui/abstact-option-select-ui-handler"; +import { Gender } from "#app/data/gender"; +import { allSpecies } from "#app/data/pokemon-species"; +import { Nature} from "#app/data/nature"; import { Button } from "#enums/buttons"; import { Abilities } from "#enums/abilities"; import { Species } from "#enums/species"; diff --git a/src/test/ui/transfer-item.test.ts b/src/test/ui/transfer-item.test.ts index c00e40b8ebd..bbb9a823ad9 100644 --- a/src/test/ui/transfer-item.test.ts +++ b/src/test/ui/transfer-item.test.ts @@ -2,18 +2,15 @@ import { BerryType } from "#app/enums/berry-type"; import { Button } from "#app/enums/buttons"; import { Moves } from "#app/enums/moves"; import { Species } from "#app/enums/species"; -import { - BattleEndPhase, - SelectModifierPhase -} from "#app/phases"; -import GameManager from "#app/test/utils/gameManager"; +import { BattleEndPhase, SelectModifierPhase } from "#app/phases"; +import GameManager from "#test/utils/gameManager"; import ModifierSelectUiHandler from "#app/ui/modifier-select-ui-handler"; import PartyUiHandler, { PartyUiMode } from "#app/ui/party-ui-handler"; import { Mode } from "#app/ui/ui"; import Phaser from "phaser"; import BBCodeText from "phaser3-rex-plugins/plugins/bbcodetext"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; -import { getMovePosition } from "../utils/gameManagerUtils"; +import { getMovePosition } from "#test/utils/gameManagerUtils"; describe("UI - Transfer Items", () => { diff --git a/src/test/utils/gameManager.ts b/src/test/utils/gameManager.ts index 1bab99db83d..ac7f7aea4d2 100644 --- a/src/test/utils/gameManager.ts +++ b/src/test/utils/gameManager.ts @@ -1,18 +1,18 @@ -import GameWrapper from "#app/test/utils/gameWrapper"; +import GameWrapper from "#test/utils/gameWrapper"; import { Mode } from "#app/ui/ui"; -import { generateStarter, waitUntil } from "#app/test/utils/gameManagerUtils"; +import { generateStarter, waitUntil } from "#test/utils/gameManagerUtils"; import { CommandPhase, EncounterPhase, FaintPhase, LoginPhase, NewBattlePhase, SelectStarterPhase, SelectTargetPhase, TitlePhase, TurnEndPhase, TurnInitPhase, TurnStartPhase } from "#app/phases"; import BattleScene from "#app/battle-scene.js"; -import PhaseInterceptor from "#app/test/utils/phaseInterceptor"; -import TextInterceptor from "#app/test/utils/TextInterceptor"; +import PhaseInterceptor from "#test/utils/phaseInterceptor"; +import TextInterceptor from "#test/utils/TextInterceptor"; import { GameModes, getGameMode } from "#app/game-mode"; import fs from "fs"; import { AES, enc } from "crypto-js"; import { updateUserInfo } from "#app/account"; -import InputsHandler from "#app/test/utils/inputsHandler"; -import ErrorInterceptor from "#app/test/utils/errorInterceptor"; +import InputsHandler from "#test/utils/inputsHandler"; +import ErrorInterceptor from "#test/utils/errorInterceptor"; import { EnemyPokemon, PlayerPokemon } from "#app/field/pokemon"; -import { MockClock } from "#app/test/utils/mocks/mockClock"; +import { MockClock } from "#test/utils/mocks/mockClock"; import { Command } from "#app/ui/command-ui-handler"; import ModifierSelectUiHandler from "#app/ui/modifier-select-ui-handler"; import PartyUiHandler, { PartyUiMode } from "#app/ui/party-ui-handler"; diff --git a/src/test/utils/gameWrapper.ts b/src/test/utils/gameWrapper.ts index de32215fabb..7edb69aef8a 100644 --- a/src/test/utils/gameWrapper.ts +++ b/src/test/utils/gameWrapper.ts @@ -8,23 +8,23 @@ import KeyboardPlugin = Phaser.Input.Keyboard.KeyboardPlugin; import GamepadPlugin = Phaser.Input.Gamepad.GamepadPlugin; import EventEmitter = Phaser.Events.EventEmitter; import UpdateList = Phaser.GameObjects.UpdateList; -import MockGraphics from "#app/test/utils/mocks/mocksContainer/mockGraphics"; -import MockTextureManager from "#app/test/utils/mocks/mockTextureManager"; +import MockGraphics from "#test/utils/mocks/mocksContainer/mockGraphics"; +import MockTextureManager from "#test/utils/mocks/mockTextureManager"; import Phaser from "phaser"; -import {blobToString} from "#app/test/utils/gameManagerUtils"; -import {vi} from "vitest"; -import mockLocalStorage from "#app/test/utils/mocks/mockLocalStorage"; -import mockConsoleLog from "#app/test/utils/mocks/mockConsoleLog"; -import MockLoader from "#app/test/utils/mocks/mockLoader"; -import {MockFetch} from "#app/test/utils/mocks/mockFetch"; +import { blobToString } from "#test/utils/gameManagerUtils"; +import { vi } from "vitest"; +import mockLocalStorage from "#test/utils/mocks/mockLocalStorage"; +import mockConsoleLog from "#test/utils/mocks/mockConsoleLog"; +import MockLoader from "#test/utils/mocks/mockLoader"; +import { MockFetch } from "#test/utils/mocks/mockFetch"; import * as Utils from "#app/utils"; import InputText from "phaser3-rex-plugins/plugins/inputtext"; -import {MockClock} from "#app/test/utils/mocks/mockClock"; +import { MockClock } from "#test/utils/mocks/mockClock"; import BattleScene from "#app/battle-scene.js"; -import {MoveAnim} from "#app/data/battle-anims"; +import { MoveAnim } from "#app/data/battle-anims"; import Pokemon from "#app/field/pokemon"; import * as battleScene from "#app/battle-scene"; -import MockImage from "#app/test/utils/mocks/mocksContainer/mockImage.js"; +import MockImage from "#test/utils/mocks/mocksContainer/mockImage.js"; import { MockGameObjectCreator } from "./mocks/mockGameObjectCreator"; Object.defineProperty(window, "localStorage", { @@ -41,7 +41,7 @@ Phaser.GameObjects.Image = MockImage; window.URL.createObjectURL = (blob: Blob) => { blobToString(blob).then((data: string) => { localStorage.setItem("toExport", data); - }) + }); return null; }; navigator.getGamepads = vi.fn().mockReturnValue([]); @@ -101,7 +101,7 @@ export default class GameWrapper { injectMandatory() { this.game.config = { seed: ["test"], - } + }; this.scene.game = this.game; this.game.renderer = { maxTextures: -1, @@ -139,7 +139,7 @@ export default class GameWrapper { setPostPipeline: () => null, removePostPipeline: () => null, }, - } + }; this.scene.tweens = { add: (data) => { @@ -254,4 +254,4 @@ function createFetchBadResponse(data) { json: () => Promise.resolve(data), text: () => Promise.resolve(JSON.stringify(data)), }; -} \ No newline at end of file +} diff --git a/src/test/utils/inputsHandler.ts b/src/test/utils/inputsHandler.ts index 043dcffbdb9..e41667dc873 100644 --- a/src/test/utils/inputsHandler.ts +++ b/src/test/utils/inputsHandler.ts @@ -1,8 +1,8 @@ import BattleScene from "#app/battle-scene"; import Phaser from "phaser"; -import {InputsController} from "#app/inputs-controller"; +import { InputsController } from "#app/inputs-controller"; import pad_xbox360 from "#app/configs/inputs/pad_xbox360"; -import {holdOn} from "#app/test/utils/gameManagerUtils"; +import { holdOn } from "#test/utils/gameManagerUtils"; import TouchControl from "#app/touch-controls"; import { JSDOM } from "jsdom"; import fs from "fs"; diff --git a/src/test/utils/misc.test.ts b/src/test/utils/misc.test.ts index da67fb48192..c1947dbe8a2 100644 --- a/src/test/utils/misc.test.ts +++ b/src/test/utils/misc.test.ts @@ -1,8 +1,8 @@ -import {afterEach, beforeAll, beforeEach, describe, expect, it, vi} from "vitest"; +import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; import Phaser from "phaser"; -import GameManager from "#app/test/utils/gameManager"; -import {apiFetch} from "#app/utils"; -import {waitUntil} from "#app/test/utils/gameManagerUtils"; +import GameManager from "#test/utils/gameManager"; +import { apiFetch } from "#app/utils"; +import { waitUntil } from "#test/utils/gameManagerUtils"; describe("Test misc", () => { let phaserGame: Phaser.Game; @@ -59,7 +59,7 @@ describe("Test misc", () => { it("test apifetch mock sync", async () => { const data = await game.scene.cachedFetch("./battle-anims/splishy-splash.json"); - expect(data).not.toBeUndefined(); + expect(data).toBeDefined(); }); it("testing wait phase queue", async () => { diff --git a/src/test/utils/mocks/mockTextureManager.ts b/src/test/utils/mocks/mockTextureManager.ts index e207f96b722..36a09efcf5a 100644 --- a/src/test/utils/mocks/mockTextureManager.ts +++ b/src/test/utils/mocks/mockTextureManager.ts @@ -1,10 +1,10 @@ -import MockContainer from "#app/test/utils/mocks/mocksContainer/mockContainer"; -import MockSprite from "#app/test/utils/mocks/mocksContainer/mockSprite"; -import MockRectangle from "#app/test/utils/mocks/mocksContainer/mockRectangle"; -import MockNineslice from "#app/test/utils/mocks/mocksContainer/mockNineslice"; -import MockImage from "#app/test/utils/mocks/mocksContainer/mockImage"; -import MockText from "#app/test/utils/mocks/mocksContainer/mockText"; -import MockPolygon from "#app/test/utils/mocks/mocksContainer/mockPolygon"; +import MockContainer from "#test/utils/mocks/mocksContainer/mockContainer"; +import MockSprite from "#test/utils/mocks/mocksContainer/mockSprite"; +import MockRectangle from "#test/utils/mocks/mocksContainer/mockRectangle"; +import MockNineslice from "#test/utils/mocks/mocksContainer/mockNineslice"; +import MockImage from "#test/utils/mocks/mocksContainer/mockImage"; +import MockText from "#test/utils/mocks/mocksContainer/mockText"; +import MockPolygon from "#test/utils/mocks/mocksContainer/mockPolygon"; export default class MockTextureManager { diff --git a/src/test/utils/mocks/mocksContainer/mockContainer.ts b/src/test/utils/mocks/mocksContainer/mockContainer.ts index 2e2b9567796..b74c46b4e86 100644 --- a/src/test/utils/mocks/mocksContainer/mockContainer.ts +++ b/src/test/utils/mocks/mocksContainer/mockContainer.ts @@ -1,4 +1,4 @@ -import MockTextureManager from "#app/test/utils/mocks/mockTextureManager"; +import MockTextureManager from "#test/utils/mocks/mockTextureManager"; export default class MockContainer { protected x; diff --git a/src/test/utils/mocks/mocksContainer/mockImage.ts b/src/test/utils/mocks/mocksContainer/mockImage.ts index 601dfd22811..be183a0dd89 100644 --- a/src/test/utils/mocks/mocksContainer/mockImage.ts +++ b/src/test/utils/mocks/mocksContainer/mockImage.ts @@ -1,4 +1,4 @@ -import MockContainer from "#app/test/utils/mocks/mocksContainer/mockContainer"; +import MockContainer from "#test/utils/mocks/mocksContainer/mockContainer"; export default class MockImage extends MockContainer { diff --git a/src/test/utils/mocks/mocksContainer/mockNineslice.ts b/src/test/utils/mocks/mocksContainer/mockNineslice.ts index 3edbbb18c31..a8e10036a72 100644 --- a/src/test/utils/mocks/mocksContainer/mockNineslice.ts +++ b/src/test/utils/mocks/mocksContainer/mockNineslice.ts @@ -1,4 +1,4 @@ -import MockContainer from "#app/test/utils/mocks/mocksContainer/mockContainer"; +import MockContainer from "#test/utils/mocks/mocksContainer/mockContainer"; export default class MockNineslice extends MockContainer { diff --git a/src/test/utils/mocks/mocksContainer/mockPolygon.ts b/src/test/utils/mocks/mocksContainer/mockPolygon.ts index cf448883ce0..12b60904a96 100644 --- a/src/test/utils/mocks/mocksContainer/mockPolygon.ts +++ b/src/test/utils/mocks/mocksContainer/mockPolygon.ts @@ -1,4 +1,4 @@ -import MockContainer from "#app/test/utils/mocks/mocksContainer/mockContainer"; +import MockContainer from "#test/utils/mocks/mocksContainer/mockContainer"; export default class MockPolygon extends MockContainer { diff --git a/src/test/utils/overridesHelper.ts b/src/test/utils/overridesHelper.ts index 2858076e3b6..e51928cc784 100644 --- a/src/test/utils/overridesHelper.ts +++ b/src/test/utils/overridesHelper.ts @@ -124,6 +124,17 @@ export class OverridesHelper { return this; } + /** + * Override the player (pokemon) {@linkcode StatusEffect | status-effect} + * @param statusEffect the {@linkcode StatusEffect | status-effect} to set + * @returns + */ + statusEffect(statusEffect: StatusEffect): this { + vi.spyOn(Overrides, "STATUS_OVERRIDE", "get").mockReturnValue(statusEffect); + this.log(`Player Pokemon status-effect set to ${StatusEffect[statusEffect]} (=${statusEffect})!`); + return this; + } + /** * Override each wave to not have standard trainer battles * @returns this diff --git a/src/test/utils/phaseInterceptor.ts b/src/test/utils/phaseInterceptor.ts index e8cec7c9989..383624bf298 100644 --- a/src/test/utils/phaseInterceptor.ts +++ b/src/test/utils/phaseInterceptor.ts @@ -34,10 +34,10 @@ import { UnavailablePhase, VictoryPhase } from "#app/phases"; -import UI, {Mode} from "#app/ui/ui"; -import {Phase} from "#app/phase"; +import UI, { Mode } from "#app/ui/ui"; +import { Phase } from "#app/phase"; import ErrorInterceptor from "#app/test/utils/errorInterceptor"; -import {QuietFormChangePhase} from "#app/form-change-phase"; +import { QuietFormChangePhase } from "#app/form-change-phase"; export default class PhaseInterceptor { public scene; diff --git a/src/test/vitest.setup.ts b/src/test/vitest.setup.ts index 7cddf4bf3b7..b2861b7071c 100644 --- a/src/test/vitest.setup.ts +++ b/src/test/vitest.setup.ts @@ -1,4 +1,4 @@ -import "#app/test/fontFace.setup"; +import "#test/fontFace.setup"; import "vitest-canvas-mock"; import { initLoggedInUser } from "#app/account"; From ed1605de58729e3b85992c071bc2fd1d4f4c2609 Mon Sep 17 00:00:00 2001 From: chaosgrimmon <31082757+chaosgrimmon@users.noreply.github.com> Date: Tue, 6 Aug 2024 10:15:54 -0400 Subject: [PATCH 4/8] [Sprite] Clean up extra Drifblim-related files (#3371) * Delete public/images/pokemon/variant/back/426_3.png * Delete public/images/pokemon/variant/back/426_3.json --- public/images/pokemon/variant/back/426_3.json | 1532 ----------------- public/images/pokemon/variant/back/426_3.png | Bin 10994 -> 0 bytes 2 files changed, 1532 deletions(-) delete mode 100644 public/images/pokemon/variant/back/426_3.json delete mode 100644 public/images/pokemon/variant/back/426_3.png diff --git a/public/images/pokemon/variant/back/426_3.json b/public/images/pokemon/variant/back/426_3.json deleted file mode 100644 index 72c1bf371ad..00000000000 --- a/public/images/pokemon/variant/back/426_3.json +++ /dev/null @@ -1,1532 +0,0 @@ -{ - "textures": [ - { - "image": "426_3.png", - "format": "RGBA8888", - "size": { - "w": 335, - "h": 335 - }, - "scale": 1, - "frames": [ - { - "filename": "0037.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 71, - "h": 72 - }, - "spriteSourceSize": { - "x": 3, - "y": 0, - "w": 63, - "h": 57 - }, - "frame": { - "x": 0, - "y": 0, - "w": 63, - "h": 57 - } - }, - { - "filename": "0038.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 71, - "h": 72 - }, - "spriteSourceSize": { - "x": 3, - "y": 0, - "w": 63, - "h": 57 - }, - "frame": { - "x": 0, - "y": 0, - "w": 63, - "h": 57 - } - }, - { - "filename": "0013.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 71, - "h": 72 - }, - "spriteSourceSize": { - "x": 3, - "y": 3, - "w": 63, - "h": 58 - }, - "frame": { - "x": 63, - "y": 0, - "w": 63, - "h": 58 - } - }, - { - "filename": "0014.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 71, - "h": 72 - }, - "spriteSourceSize": { - "x": 3, - "y": 3, - "w": 63, - "h": 58 - }, - "frame": { - "x": 63, - "y": 0, - "w": 63, - "h": 58 - } - }, - { - "filename": "0011.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 71, - "h": 72 - }, - "spriteSourceSize": { - "x": 3, - "y": 4, - "w": 64, - "h": 59 - }, - "frame": { - "x": 126, - "y": 0, - "w": 64, - "h": 59 - } - }, - { - "filename": "0012.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 71, - "h": 72 - }, - "spriteSourceSize": { - "x": 3, - "y": 4, - "w": 64, - "h": 59 - }, - "frame": { - "x": 126, - "y": 0, - "w": 64, - "h": 59 - } - }, - { - "filename": "0035.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 71, - "h": 72 - }, - "spriteSourceSize": { - "x": 3, - "y": 0, - "w": 64, - "h": 59 - }, - "frame": { - "x": 126, - "y": 0, - "w": 64, - "h": 59 - } - }, - { - "filename": "0036.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 71, - "h": 72 - }, - "spriteSourceSize": { - "x": 3, - "y": 0, - "w": 64, - "h": 59 - }, - "frame": { - "x": 126, - "y": 0, - "w": 64, - "h": 59 - } - }, - { - "filename": "0015.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 71, - "h": 72 - }, - "spriteSourceSize": { - "x": 2, - "y": 4, - "w": 67, - "h": 59 - }, - "frame": { - "x": 190, - "y": 0, - "w": 67, - "h": 59 - } - }, - { - "filename": "0016.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 71, - "h": 72 - }, - "spriteSourceSize": { - "x": 2, - "y": 4, - "w": 67, - "h": 59 - }, - "frame": { - "x": 190, - "y": 0, - "w": 67, - "h": 59 - } - }, - { - "filename": "0039.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 71, - "h": 72 - }, - "spriteSourceSize": { - "x": 2, - "y": 0, - "w": 67, - "h": 59 - }, - "frame": { - "x": 190, - "y": 0, - "w": 67, - "h": 59 - } - }, - { - "filename": "0040.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 71, - "h": 72 - }, - "spriteSourceSize": { - "x": 2, - "y": 0, - "w": 67, - "h": 59 - }, - "frame": { - "x": 190, - "y": 0, - "w": 67, - "h": 59 - } - }, - { - "filename": "0009.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 71, - "h": 72 - }, - "spriteSourceSize": { - "x": 4, - "y": 5, - "w": 64, - "h": 60 - }, - "frame": { - "x": 257, - "y": 0, - "w": 64, - "h": 60 - } - }, - { - "filename": "0010.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 71, - "h": 72 - }, - "spriteSourceSize": { - "x": 4, - "y": 5, - "w": 64, - "h": 60 - }, - "frame": { - "x": 257, - "y": 0, - "w": 64, - "h": 60 - } - }, - { - "filename": "0033.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 71, - "h": 72 - }, - "spriteSourceSize": { - "x": 4, - "y": 1, - "w": 64, - "h": 60 - }, - "frame": { - "x": 257, - "y": 0, - "w": 64, - "h": 60 - } - }, - { - "filename": "0034.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 71, - "h": 72 - }, - "spriteSourceSize": { - "x": 4, - "y": 1, - "w": 64, - "h": 60 - }, - "frame": { - "x": 257, - "y": 0, - "w": 64, - "h": 60 - } - }, - { - "filename": "0061.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 71, - "h": 72 - }, - "spriteSourceSize": { - "x": 5, - "y": 7, - "w": 63, - "h": 60 - }, - "frame": { - "x": 0, - "y": 57, - "w": 63, - "h": 60 - } - }, - { - "filename": "0062.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 71, - "h": 72 - }, - "spriteSourceSize": { - "x": 5, - "y": 7, - "w": 63, - "h": 60 - }, - "frame": { - "x": 0, - "y": 57, - "w": 63, - "h": 60 - } - }, - { - "filename": "0001.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 71, - "h": 72 - }, - "spriteSourceSize": { - "x": 4, - "y": 11, - "w": 62, - "h": 61 - }, - "frame": { - "x": 63, - "y": 58, - "w": 62, - "h": 61 - } - }, - { - "filename": "0002.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 71, - "h": 72 - }, - "spriteSourceSize": { - "x": 4, - "y": 11, - "w": 62, - "h": 61 - }, - "frame": { - "x": 63, - "y": 58, - "w": 62, - "h": 61 - } - }, - { - "filename": "0063.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 71, - "h": 72 - }, - "spriteSourceSize": { - "x": 3, - "y": 8, - "w": 67, - "h": 60 - }, - "frame": { - "x": 125, - "y": 59, - "w": 67, - "h": 60 - } - }, - { - "filename": "0064.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 71, - "h": 72 - }, - "spriteSourceSize": { - "x": 3, - "y": 8, - "w": 67, - "h": 60 - }, - "frame": { - "x": 125, - "y": 59, - "w": 67, - "h": 60 - } - }, - { - "filename": "0007.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 71, - "h": 72 - }, - "spriteSourceSize": { - "x": 3, - "y": 6, - "w": 64, - "h": 61 - }, - "frame": { - "x": 192, - "y": 59, - "w": 64, - "h": 61 - } - }, - { - "filename": "0008.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 71, - "h": 72 - }, - "spriteSourceSize": { - "x": 3, - "y": 6, - "w": 64, - "h": 61 - }, - "frame": { - "x": 192, - "y": 59, - "w": 64, - "h": 61 - } - }, - { - "filename": "0031.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 71, - "h": 72 - }, - "spriteSourceSize": { - "x": 3, - "y": 2, - "w": 64, - "h": 61 - }, - "frame": { - "x": 192, - "y": 59, - "w": 64, - "h": 61 - } - }, - { - "filename": "0032.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 71, - "h": 72 - }, - "spriteSourceSize": { - "x": 3, - "y": 2, - "w": 64, - "h": 61 - }, - "frame": { - "x": 192, - "y": 59, - "w": 64, - "h": 61 - } - }, - { - "filename": "0065.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 71, - "h": 72 - }, - "spriteSourceSize": { - "x": 1, - "y": 10, - "w": 69, - "h": 60 - }, - "frame": { - "x": 256, - "y": 60, - "w": 69, - "h": 60 - } - }, - { - "filename": "0066.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 71, - "h": 72 - }, - "spriteSourceSize": { - "x": 1, - "y": 10, - "w": 69, - "h": 60 - }, - "frame": { - "x": 256, - "y": 60, - "w": 69, - "h": 60 - } - }, - { - "filename": "0003.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 71, - "h": 72 - }, - "spriteSourceSize": { - "x": 4, - "y": 9, - "w": 63, - "h": 62 - }, - "frame": { - "x": 0, - "y": 117, - "w": 63, - "h": 62 - } - }, - { - "filename": "0004.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 71, - "h": 72 - }, - "spriteSourceSize": { - "x": 4, - "y": 9, - "w": 63, - "h": 62 - }, - "frame": { - "x": 0, - "y": 117, - "w": 63, - "h": 62 - } - }, - { - "filename": "0027.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 71, - "h": 72 - }, - "spriteSourceSize": { - "x": 4, - "y": 5, - "w": 63, - "h": 62 - }, - "frame": { - "x": 0, - "y": 117, - "w": 63, - "h": 62 - } - }, - { - "filename": "0028.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 71, - "h": 72 - }, - "spriteSourceSize": { - "x": 4, - "y": 5, - "w": 63, - "h": 62 - }, - "frame": { - "x": 0, - "y": 117, - "w": 63, - "h": 62 - } - }, - { - "filename": "0067.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 71, - "h": 72 - }, - "spriteSourceSize": { - "x": 0, - "y": 10, - "w": 70, - "h": 60 - }, - "frame": { - "x": 63, - "y": 119, - "w": 70, - "h": 60 - } - }, - { - "filename": "0068.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 71, - "h": 72 - }, - "spriteSourceSize": { - "x": 0, - "y": 10, - "w": 70, - "h": 60 - }, - "frame": { - "x": 63, - "y": 119, - "w": 70, - "h": 60 - } - }, - { - "filename": "0017.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 71, - "h": 72 - }, - "spriteSourceSize": { - "x": 1, - "y": 4, - "w": 69, - "h": 61 - }, - "frame": { - "x": 133, - "y": 120, - "w": 69, - "h": 61 - } - }, - { - "filename": "0018.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 71, - "h": 72 - }, - "spriteSourceSize": { - "x": 1, - "y": 4, - "w": 69, - "h": 61 - }, - "frame": { - "x": 133, - "y": 120, - "w": 69, - "h": 61 - } - }, - { - "filename": "0041.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 71, - "h": 72 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 69, - "h": 61 - }, - "frame": { - "x": 133, - "y": 120, - "w": 69, - "h": 61 - } - }, - { - "filename": "0042.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 71, - "h": 72 - }, - "spriteSourceSize": { - "x": 1, - "y": 0, - "w": 69, - "h": 61 - }, - "frame": { - "x": 133, - "y": 120, - "w": 69, - "h": 61 - } - }, - { - "filename": "0019.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 71, - "h": 72 - }, - "spriteSourceSize": { - "x": 0, - "y": 5, - "w": 71, - "h": 61 - }, - "frame": { - "x": 202, - "y": 120, - "w": 71, - "h": 61 - } - }, - { - "filename": "0020.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 71, - "h": 72 - }, - "spriteSourceSize": { - "x": 0, - "y": 5, - "w": 71, - "h": 61 - }, - "frame": { - "x": 202, - "y": 120, - "w": 71, - "h": 61 - } - }, - { - "filename": "0043.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 71, - "h": 72 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 71, - "h": 61 - }, - "frame": { - "x": 202, - "y": 120, - "w": 71, - "h": 61 - } - }, - { - "filename": "0044.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 71, - "h": 72 - }, - "spriteSourceSize": { - "x": 0, - "y": 1, - "w": 71, - "h": 61 - }, - "frame": { - "x": 202, - "y": 120, - "w": 71, - "h": 61 - } - }, - { - "filename": "0025.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 71, - "h": 72 - }, - "spriteSourceSize": { - "x": 4, - "y": 7, - "w": 62, - "h": 62 - }, - "frame": { - "x": 273, - "y": 120, - "w": 62, - "h": 62 - } - }, - { - "filename": "0026.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 71, - "h": 72 - }, - "spriteSourceSize": { - "x": 4, - "y": 7, - "w": 62, - "h": 62 - }, - "frame": { - "x": 273, - "y": 120, - "w": 62, - "h": 62 - } - }, - { - "filename": "0049.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 71, - "h": 72 - }, - "spriteSourceSize": { - "x": 4, - "y": 3, - "w": 62, - "h": 62 - }, - "frame": { - "x": 273, - "y": 120, - "w": 62, - "h": 62 - } - }, - { - "filename": "0050.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 71, - "h": 72 - }, - "spriteSourceSize": { - "x": 4, - "y": 3, - "w": 62, - "h": 62 - }, - "frame": { - "x": 273, - "y": 120, - "w": 62, - "h": 62 - } - }, - { - "filename": "0059.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 71, - "h": 72 - }, - "spriteSourceSize": { - "x": 6, - "y": 7, - "w": 64, - "h": 61 - }, - "frame": { - "x": 0, - "y": 179, - "w": 64, - "h": 61 - } - }, - { - "filename": "0060.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 71, - "h": 72 - }, - "spriteSourceSize": { - "x": 6, - "y": 7, - "w": 64, - "h": 61 - }, - "frame": { - "x": 0, - "y": 179, - "w": 64, - "h": 61 - } - }, - { - "filename": "0069.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 71, - "h": 72 - }, - "spriteSourceSize": { - "x": 1, - "y": 11, - "w": 69, - "h": 61 - }, - "frame": { - "x": 64, - "y": 179, - "w": 69, - "h": 61 - } - }, - { - "filename": "0070.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 71, - "h": 72 - }, - "spriteSourceSize": { - "x": 1, - "y": 11, - "w": 69, - "h": 61 - }, - "frame": { - "x": 64, - "y": 179, - "w": 69, - "h": 61 - } - }, - { - "filename": "0071.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 71, - "h": 72 - }, - "spriteSourceSize": { - "x": 3, - "y": 11, - "w": 66, - "h": 61 - }, - "frame": { - "x": 133, - "y": 181, - "w": 66, - "h": 61 - } - }, - { - "filename": "0072.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 71, - "h": 72 - }, - "spriteSourceSize": { - "x": 3, - "y": 11, - "w": 66, - "h": 61 - }, - "frame": { - "x": 133, - "y": 181, - "w": 66, - "h": 61 - } - }, - { - "filename": "0005.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 71, - "h": 72 - }, - "spriteSourceSize": { - "x": 4, - "y": 7, - "w": 64, - "h": 62 - }, - "frame": { - "x": 199, - "y": 181, - "w": 64, - "h": 62 - } - }, - { - "filename": "0006.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 71, - "h": 72 - }, - "spriteSourceSize": { - "x": 4, - "y": 7, - "w": 64, - "h": 62 - }, - "frame": { - "x": 199, - "y": 181, - "w": 64, - "h": 62 - } - }, - { - "filename": "0029.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 71, - "h": 72 - }, - "spriteSourceSize": { - "x": 4, - "y": 3, - "w": 64, - "h": 62 - }, - "frame": { - "x": 199, - "y": 181, - "w": 64, - "h": 62 - } - }, - { - "filename": "0030.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 71, - "h": 72 - }, - "spriteSourceSize": { - "x": 4, - "y": 3, - "w": 64, - "h": 62 - }, - "frame": { - "x": 199, - "y": 181, - "w": 64, - "h": 62 - } - }, - { - "filename": "0021.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 71, - "h": 72 - }, - "spriteSourceSize": { - "x": 2, - "y": 6, - "w": 69, - "h": 62 - }, - "frame": { - "x": 263, - "y": 182, - "w": 69, - "h": 62 - } - }, - { - "filename": "0022.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 71, - "h": 72 - }, - "spriteSourceSize": { - "x": 2, - "y": 6, - "w": 69, - "h": 62 - }, - "frame": { - "x": 263, - "y": 182, - "w": 69, - "h": 62 - } - }, - { - "filename": "0045.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 71, - "h": 72 - }, - "spriteSourceSize": { - "x": 2, - "y": 2, - "w": 69, - "h": 62 - }, - "frame": { - "x": 263, - "y": 182, - "w": 69, - "h": 62 - } - }, - { - "filename": "0046.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 71, - "h": 72 - }, - "spriteSourceSize": { - "x": 2, - "y": 2, - "w": 69, - "h": 62 - }, - "frame": { - "x": 263, - "y": 182, - "w": 69, - "h": 62 - } - }, - { - "filename": "0023.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 71, - "h": 72 - }, - "spriteSourceSize": { - "x": 3, - "y": 7, - "w": 66, - "h": 62 - }, - "frame": { - "x": 0, - "y": 240, - "w": 66, - "h": 62 - } - }, - { - "filename": "0024.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 71, - "h": 72 - }, - "spriteSourceSize": { - "x": 3, - "y": 7, - "w": 66, - "h": 62 - }, - "frame": { - "x": 0, - "y": 240, - "w": 66, - "h": 62 - } - }, - { - "filename": "0047.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 71, - "h": 72 - }, - "spriteSourceSize": { - "x": 3, - "y": 3, - "w": 66, - "h": 62 - }, - "frame": { - "x": 0, - "y": 240, - "w": 66, - "h": 62 - } - }, - { - "filename": "0048.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 71, - "h": 72 - }, - "spriteSourceSize": { - "x": 3, - "y": 3, - "w": 66, - "h": 62 - }, - "frame": { - "x": 0, - "y": 240, - "w": 66, - "h": 62 - } - }, - { - "filename": "0057.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 71, - "h": 72 - }, - "spriteSourceSize": { - "x": 7, - "y": 6, - "w": 64, - "h": 62 - }, - "frame": { - "x": 66, - "y": 240, - "w": 64, - "h": 62 - } - }, - { - "filename": "0058.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 71, - "h": 72 - }, - "spriteSourceSize": { - "x": 7, - "y": 6, - "w": 64, - "h": 62 - }, - "frame": { - "x": 66, - "y": 240, - "w": 64, - "h": 62 - } - }, - { - "filename": "0051.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 71, - "h": 72 - }, - "spriteSourceSize": { - "x": 5, - "y": 4, - "w": 63, - "h": 63 - }, - "frame": { - "x": 130, - "y": 242, - "w": 63, - "h": 63 - } - }, - { - "filename": "0052.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 71, - "h": 72 - }, - "spriteSourceSize": { - "x": 5, - "y": 4, - "w": 63, - "h": 63 - }, - "frame": { - "x": 130, - "y": 242, - "w": 63, - "h": 63 - } - }, - { - "filename": "0053.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 71, - "h": 72 - }, - "spriteSourceSize": { - "x": 6, - "y": 5, - "w": 64, - "h": 63 - }, - "frame": { - "x": 193, - "y": 243, - "w": 64, - "h": 63 - } - }, - { - "filename": "0054.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 71, - "h": 72 - }, - "spriteSourceSize": { - "x": 6, - "y": 5, - "w": 64, - "h": 63 - }, - "frame": { - "x": 193, - "y": 243, - "w": 64, - "h": 63 - } - }, - { - "filename": "0055.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 71, - "h": 72 - }, - "spriteSourceSize": { - "x": 6, - "y": 5, - "w": 65, - "h": 63 - }, - "frame": { - "x": 257, - "y": 244, - "w": 65, - "h": 63 - } - }, - { - "filename": "0056.png", - "rotated": false, - "trimmed": true, - "sourceSize": { - "w": 71, - "h": 72 - }, - "spriteSourceSize": { - "x": 6, - "y": 5, - "w": 65, - "h": 63 - }, - "frame": { - "x": 257, - "y": 244, - "w": 65, - "h": 63 - } - } - ] - } - ], - "meta": { - "app": "https://www.codeandweb.com/texturepacker", - "version": "3.0", - "smartupdate": "$TexturePacker:SmartUpdate:5a260d2a6180d3a382a352c076369741:e26f8902d45a6e7b427d7dd3cc82c868:b81a75872f1ff6f03d9cd643388500e3$" - } -} \ No newline at end of file diff --git a/public/images/pokemon/variant/back/426_3.png b/public/images/pokemon/variant/back/426_3.png deleted file mode 100644 index e994a22f91722787e56030eb4218df543e96a3dd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10994 zcmYM41yoeu7w-q@Zjgo{B?YBB2BbTbQc7Zop+P#NTclG3rH2?&%AutMsR2Q{8w9C$ z`T2kEvDR>B%{}MbbN7k;+24I)bhK0m@o4ctAP}MIGbKIXdUXH6!2t& z6$Mb$2>lia#0*kZk~i?p-3!#TH++t`J5c-BDM0iz6>$c!5C7QtE__*)2kz|n(iob& z?NZ5s{-pK+v4mf^nzV1YIt~qm0YUKGcU~2V{tw*tzvZ?FVvoaTaHO9t$YBbihrc%r z4~wH^(V4s?PW4*wSqyAHx42qCUZEeY2j!ljoT?XJI30M5e3hefuGe)mFnics*Ya>; zWzkjEV8H(u=OB`ji+EA8JPsasR zN<^vC-4` z0(;h>^>4_S(7(I-4lF)*}73EVE^%Lqf86=&lZp(P=Aldkff_9BkH~@ zoPQPjI6%9*b4g!2#6vy>2Ub!Dm47Iy)Om}-xyl&{+p?6@4-@O$m7#1 zTi~5WyT?oKxV}(AXpLt@;-Wur#d4O&PI;$ZH`iBK$Nu*=KCjw)!4xS44z)*HvUwlh z+nHXQY7iL-wDN}4N48humBs z60Jfao)CqW@A2Rp7X}1qrc6p~d*i#t-i0}rLZT}bH~%e=Kzw#wmJ5N;-V(S>r@;~a zU-xe$D~}8B+d5>ZPJ9VnwmPSi?##GzOnUEjVIttN*ydyrvvcPENkXcpYe?eWm`s** zh3~Vcf+00oH=Guh7O~zf2_l17C|o5CM_w>OHFFM&|K5Bu?em*^`+|}6zn2!^6eAn9J1uBX`yQyJ zHI#KJjH61IOu1C&1Fi((!tJs93p!`! z9FE#GTUtua?H@Hbe!IhOwAl`QL82U>`*eQJ@d>CQ!ZgAUsl_B11Haze6YVU9cG6Df@FF z_uux!<1Pl<_LU0s0?Pnbjijvuor{>!2`Bz*lgYPf&3sl!AHW+p=@PYH4uWwXjjuM` zDaSV1Ctv3GgAWK*Dg1uzpc?)5u9j$M8w*oCbZj2(U9G=(7w(FN@)e*~$W$klH?+zN zzjC+FYTBOT4|g^9AQ(^Ta>IKY&ED#ahN|01b&9@*y5Zfbqs`e{*LC(a!`N||3cQ@F zp-zpphhFB9;V*(|=?fAv28ccrqh&<$%<|G%W)yhXaw?H-Txt|~&%NQ%0sUKqpK*$9 zZ86M?v(NK6NdI_w_Z(YG$k``80-R1jfMH=`5pRHESk+=NSFCoy-QzQ9%9qlgIV8P* zrxg^4er;+xpBL+F;{5ub`5J6TF^%=<5Mp!Zrr0%%I-4_*1BvDd)PIc&FrKsgTVF4w zkLIsnpHh~nr>Dqup5+?SD=w>$+?0k-Y{(+h@iX)m>oD!}bFtGKL7){$B8+D17r;Dd zzBmVZ_U8{{>=w-OwQ+#=jtl5FPNtZa_pak_`v)W38g0=z0|6aZ!FMCq&=n)(?N81G zPFLr}DAuFw#9^wL% z?#MmW40`{H;$%*_)w8|!Y<_f(Xpxt(hU)MFW$r z)KFwRoxc$eP{S;sC(n?~>vQgq_kusInrw(jw?bB`7C>F&$|N=Uj}9vMdpj0`KKG2| z{p@)NGN`_M0DF+_$1ctEK;ie)IRmk$82pYZE&6}tm5rgEMC^hJkE+gRkDV8eF2AO) z8KDd@Za-cvYr0fG`2>kSCqDuh!P;so*soTRw6;IJ5KrUM)i}BNbJO@q)y>R#Ua*#t zl9ZSPMFErRO_2kouI^IE6`};kI842YJ0)Vd4{^}Fw7SaU1i;;T!-9I)!w96Hz-Tz? zymQ^FG5mw#5zy6(x&iH+i%+2zjl&5S4T02HoZh769L5~%E5FNMi#0hXr7h|IKA!2J zk`XdK5`Tf!6fzjajVdNK=lG5|xc0E37BoNQ*RH~Q3bLdlFy=QaGh=MUF;ssRkQ(-b zGW9z19lbfs>589T3+iN5R_Mpk*nc9zY;?tzuj=-Q3^XYGnv9xyey$xqiF~Jb3aiVY zm>ckFuVL3~r~?qFK}8)D@-6tX&Pz*9Cgu8g&u0ceBCU(hW9Q~3xid-uYu%p)FOO2F z&;-m{6MyY9Lj5+JUDJ5NYrzZrJ}X;aIjX?^t#4=paPgaf@^AXhO@qu)#0BNG zCzOE>-Ia~4*ui4{Q?atBcKj&va`I9Dpxj0HALOL*fD=m1#DDbG)j7#pR7fGf6qJ2) zA3hn#2sPdlm!)yg8Z;5re)4SqPt{MzP$#8P91hmXm0(OVo;Ia7uj+K_! z$LQQ21x9cM=^g6;bX^WW-p$K}Hy7)-8B-&a)PxHDmOtJU1a&~A>}Vi?UzYz^tqF#l z4HUFXbS>XkTt$Mdvgg6%sZX1=J1p%8rD*U^8r}x-1E^Vp&#n{%y!b#21c`qlOqKf1 z8T4y_9ay^e$TMu1&Hx!Hxp&D=+=QOp7aSURh6EhogfZuG%vMrE(yKS_%_&b=N>rni zYO{_wE=SloIYs55cG01#P6aw7LZZyjAQpG^Ws2PBW>E=f$kYi^m~F&i9=i90LLTLF zof}31Bhwur*ev^sE6>FpZ>&;(Gkc!begKtUrHF{0AlXKiku2MwSEqsZ_@kl`2gi!* zHfNFu4M7Wrt{J6szJ#Ks@Y|$0%ZaiW#K9>klzn|91aPBz4Ea{#?+GKm3)r~GWnP=P z;~62H4~x(3aifyX{+8&fMQlo@=+}Vv_x4}8!l8D3B%CiIwiv9O7n@sK`H7XZdSySK zmuOWGB*q}NMw3PCY@kMq&C3)}c0~FOR9wU}#jS9!^)a)D5EYDu^Zixs#_o5sG0Aek zh$4WUE~CCb>Q{qGUd5>PO&WRm#tQ%LR~?VA^zy|6pqz4q8G6MprBxwnjlRP+N{~A# zLqs^^eIECJ*(Zro7vQAciFcO$^C2~tvrBeq7-fZ>1seiR`E2Lt}AqvgzRdB=|| zWsiAsP343HEZUv3E{V#GM>+h}-TKEeu{Km@c$xcgpUS%cOwzEvhp5Cb1=(``hZYgP|`!B^~ zcDn8u{XXkuE)Qas@n{n9d>XN>8%M;`#mKi~0oWM5suaDz{gth9@}v85{u;qo))%z3 z(V^2rX#VDBj2SxY*~wyqCwwy6)tAfEwFmt!w4AOd+}e&@T4}lwQKK;(mmW)ZnSPJbwS|Xf3|28KKaTtqL8j&<42p68L>sTillfk-3`aWE3^g8{4Jr zmUJR7b7QQ<=8Jf8^djuMi{~yfBD;~iWND+#HE^21#z&|vp$Z2@%QsQ?6F20_Dp?(A zu%G}l12BPCmZLAS8=fFa*VXfi%jtXjNY%ydFU5O;n2;r+E2>Txli3-3tC?tfnCFzJ z=_7b{4;evbU&dB?8a6=P1Ke>=qoIlBnY%MTeXD}cR3Bg4L^FJwt!x!Mcc(e?&pVT> z)+ow8A-PEJ@&Stll%n>$NkReNd9k{&LAa5(&_Y+F!Bu2YZCn#*NdO||cK!XV?d=f* z_T#sLZJb3a&2}28d_E04(*TPqG;HCV}UBkRYxwb-%@d{F2&;`NF) zT1eqMk9#1KDh&wrvrax>`cXiRZoWn>U%erw$#Z3(XQ<^SVWPunSvuqt z#F_Rn^WWOpU7n78#{0A{E5y5Y3%QP%MFYx;_5(rD>nnj#rF}ueb4~`v6 zY$u3z_?mIG*LoNs7#jFj_XE2-wa^5+#AjffVm^52?mRc!xjc7LqDhuG%t4nd+Ox?U zI!g2%sNI{Ea8`e`|HSz*sYYEap^jU^f!LUv$>)uXq0axhn99N-nMn9zWs!4z{&zj5 zyH@nP4TpxED)9g2cVKIaf@t*a&o=gCaH$0HOea7~B2r(xZ4S z$R(%HmjThI0{kr8jp3cDRDj35B&82R>#XMKaHlnq37?A!QL>Z`I3rkI1dBCA!>ed_ z05K|l*JRXNNFGLl;8b5%ND8$1^^_oysHZ?PXztYP#mk$PV;-Z#_OR^46UFPa+E4X@ zoZObBp#ev-1=rP65DoXX(o4hX#D?k(8hQptj9#EcH#bzia!vFoy3|hC(`au)DVxNq zDaFo~f{~=gTd_AkY|vk>agFFRqE1`(*W$~XYi!lu?(P6cCQKHISG);GLlo;N6bBAt zaBBz>@?fIG_g>gyS}w@Nav+TkDh^S@=O(46H^*+!>IQ|3a>(}N{e&QP3fEv|y?h-O z6lL&ri0-1qWpNw0YXCD3gqe*BFm96ahDXM6e}=+5NhekNR3)e~q$zEJhXSC9!b6P` zk8e|8H11xcDfJvA1x)k|vEr_U&)hTHur&NTG@|ANbJ#LrT(y57UpTRY;3D?gQtaqjFWP3@!xWc!FK>gfkNg!u!A~( zcU(6g&2=~I0O9O6AmGHO&XAHw)|I}pjD*5tGU>elzEY!w8UO4t4q1m#Ro52^MOGJ% zNOA%=RTmRoSljHjCjkIfcK(MBhwFq5tPmhxT>&`k`uFCn2BU-Z@G&0yySL-$?(Dz&dOz8~}BqYXl(O zs~q%u>Vf48zTRRUZtVMYW$j|RyFs_M!Sxu?cH&*N4QOP=;~98t;@Xsjs?0$WX!;oU ztg?M*!1_5hM2x7Q-0_GGm=?I(#f60yf2XIv1TAN#fzMOreriVKGUIYv0J@hb<7n`W z_NRk1viBnI-&LyP1^$$*Y!9NC6(G!n(cKk)P7)Ci60cfrlvcz{PLmP45RY~6n^>09WvwP9y ziUZ-%0bV;NC4W#geN?%SaImTvM>-@!os1JNv-r6zAp{c|S1?q_G1iuOUlC&gp6$NG z=$a~xh?53{9$ICMv6I$6hr>4l302>JFCX87qgS7nW!}r?7xu5(u{v{eqKmIJ!X);d zI7n%<))${E0cu73HD9pNb&i$h+kM|U-?CkJvGr1EnfShgOH-ZfvSVC);RSOV_Oj1ZJw`M^bSY3vk37h_8tPN_ zD7Qe+q}fPwwHMap)U$m({)uFRpJOOxo-DB%Zssnx{qvLr5(8^i^#li;ty)hs9(GjJ+MmEktsdexFw&u-`v% zZiw((D(a!50L-WUni{XX|}Bfs;_TYzIN-2-+8EE8aHH}pO+OEXJj+=omRmx zMI5cV6%$3NoROn#!Ox@j1GY6NmCgj6;rExKJD=#~{dHK-R|R7?A{_JSAEmcXnw@OIq8 z=8vox9;z@32+V?|i9&Rq$HFeA zf+V}<8XSiU+znmCe&1B6B`Tk0I9ILokCDN2Rc648Z)Frrs1aS^nualoniMV0lXg^D z2l{VhmQX?Dq|^oD^3n62Nv>(eIJp7e(+^;%TFcL5*lDV4{nXeIVLCTwCB^X`DV%Rb z3?&zoMLfyXXUS7lg{1>;6}7m7bWZCNwoh^cni3hf1rkSxHg|UMyosFMact*XhN8O0 zSr|K_mN00FG>BlNOdff7g3`(WpljUS!Vk=yEh@S&uFxuJ8)Ia}`z$E@d_@~n?)9vD zUF*~rwkHlcInY~n{H6rY1!&t^AS0o@tmmCE(16q|93OND2xHHEXP1@;F!lB)M6q<^P2Vg3|jtyRoA#3zfDrRQ6Vz ziz&W@fFf!C+AGnENRuc8OF-WZS9$fk@R$m;^sLS3LJa7baywZ$xW`~zoM%v8_#D{% zMK_A?q6wAqn#8@)sZ}OQYAvexyiJlY&e@r!>+btF1L<1ms3F zS(3%M_M}L1_KbV_)^l?E&;f{<8CP|D45MoT^?py;5x$jOADH?zjF2C=uz${+82x_F zU6pm=nIvzWzdM5o1qdo*=*z%Y^cj+!^FYBdUXrx3&aXKRWbeQcRFQcZ{G6op1Ch*s z3&hq*6X`>M7kf!C^x|Z;a516|wxO_Sb0>n%KiE7mG~)6+UMQ8nqr z2%?KLlk&VE^E@Z@Ok@e>PwIGKQ5a6)AaBrz5f6{{AtZ}-=&T8;Oy0XR$ z`=$u(Kw^JA$6JHVz)2nN1gI8pF}lk*zy|3MpNuIg0R@~kn+SJdGcG9wjGagClgn_s z>Ke_+xGrUhi_IR9n93Q-sWJW!E%gg-tY6&3?3c06Ti#l6N z+qgP~ADOAWK5i(+ofX~(Q`JnL`kc|OA}iI{@o;<@#<<-u{EWJjoy{3r?c2U^&-K$T z0%(1BPu+hK%n+ueK=LW_7RFFV&~%@9mR&?_{g+zq>g#a=l;8L05|282rh}q`f3*9B z^}>M1^slJZzILw*gR(jYL;z`G3)f`O!*-v!zQ0K9| zFqI(weG9}#+L3e5{1=qtgaLKc72{FJ*-JHiE?tmWXokU7bljJawb9sOHA$K2i`0NY zX&EgWqvc|!Lk-6~5D4$>{aFAOe{<2DA{X^|i0)XSJTNF-xFF5TV> zqJ>ASb5VE48@)~dfQ#P97?V;^zKf}>XG<5B0c8Ri%RkWI%XzY+v;PFl6E(Z7I+UNO8wh+8Xm z%3!8pP5;!nPn~d2^2Zh)4L!rVtzh0Dp#Zg+_{EokfJQAh&_CkE1-$WhwRB7^KC**} zpZ{Vy8otRFCa^)*t<~C*ldjhvF35c-6KfI) z(fyJr;6ctZryjm*I&SpCq-SH`JTAR23jt+;_w>{CtCDaExpuBPe4wf_Z?w1s0=^d* z`V?%LK(2fkG5hKTVNYR@&q2z3Zodm7+G`lIO+%9?e{kr%@ODf?{syGS^I=4+?sTb` zmXmSbka@@8=A+#DJi{q_rc{7NSiJ9W@XhFamlq(V`L;>unIO5Zz&{?$zb)+L;OF3Y zV}55ht64V?iHwu30?ry_W!^rtT=?7esYmBVJ**1ODC}4mB=PzBnK~W{a0PWY1*F#8ExV z0`D|NUS`9YRxbwd+=%1{&VdNvF(AqUum^-NzicL+>c)tyS|@AfJfjeN&0LB(d_Snb z35)LfZEDqr4u_9`hVULa(f3qChytFQ!bf>sns<o3zJ6(LU_Mlvfrvf7s$ z!J}Oe)}i%Os(X&9$o1pL--zMu1KR(gy-~1XEd-exnk#DWY5M150s*Y?g~eTy!gGuj zt6?Jymg@*^(SND+>V_4`yA;@dq3R2PD6ZTwjI_xgE%mNXnoedargze}58rvUifBI( zr-bQ^&CHwNK*ZWH$-z*wd|GhZo>psETtXzm?et}<+GRHNwD;FttwvHJDE@$oI(~&Q z=g$o8IUpcg5JGwITUpAdVdoe=cIbC>aK5y8)xK^^u5L)_JklChwg|SO&Kg^j;9~o| znfP^A{(Zzpyfw$V0TCd%u2t54qP8nxAB*?84o^9jJNT(84=yfbr&r|E}`j*(Ab;j&wa`JY5D$H5=J1hv=1lxA4_m}SLekXSO-@*Vh5&Al4h@j_UVWjT3_2M)&DCiH0@!I$(=Bc zZX3|STKtFhiQj%X9uEtd6&GJJ!Z zc`)9N(~LK_T(k`CR;J|0aW}00iPnFjoxEWYFIXUJQPA2mJRyU2?NnIICuNL!82j=^ z)0foPxCv2;8cr>Sq@Gxt@;t3rMbg|AfUrxj_md zly&YD{-uz%F(E`X45~uGJDiljo!QHRi}3A-<5Y}>iUqk`l{vLdR9(CCt7zWe-Nq zD}qSuF7Zu3BIsMrSO9{p^2E_S`vPkthSvTgXAk&g5MAGswL+&SVn61Y=v#Hu!Bm{TbVhnfYWZotrY-b?{bed+^selMJkt3Vr!6Ju6dn0Y+))%MAj z%EZ?tO-Cm$Syy#vQT=(*#V1}tQUms>;Q$uHWTEc!FJNjM2O2v)N_ESaK)aXIG-K1R zMR_uGBpxue@9ylnBP8=)#3&Aa^n=s1fXF*MMrbgL_xV1Rjt2M3f7r_8Ux8QGshf7b zZrtw$RO-W|z=IcnOLi)a>n^>}3>#^5`zz7949N4!k~Jk#$WG~2FHx%Ld?zOL>wy>g zn~4d%bq|ZiHdLbl=^lUfp5Qqpy#XKuE%o=_iKM)U2{d|T9Mk!6&TY0d76^fW(ybX!pk*B%br2?(9F{8ewnX;7;VkJEExBTC%HGQ3eA&iuDu9{@r-0P>>3Jmn5^V882Y_pwgf4fNjG z@BPThplIlz(VK0@BM_TU{hqwKYE-Oi&G<5t{{Y3$N;@Lxu(KNSK!@uya#Y)UmwW#0 z_(l&E_rZo2f7#Qv#E?K&Hf{-pcQRe1mr_ z?!=LMsECD9M?>U^U09%K+RNJ3vWeK{3I+O=hOSS1%OZ1Jj|PLX9O&#W?raTYW?Eoa luYsegM7AcXcAA Date: Tue, 6 Aug 2024 18:17:34 +0200 Subject: [PATCH 5/8] [Localization] More French adjuestments (#3382) * Update battle.ts * Update starter-select-ui-handler.ts * Update battle.ts --- src/locales/fr/battle.ts | 18 +++++++++--------- src/locales/fr/starter-select-ui-handler.ts | 2 +- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/locales/fr/battle.ts b/src/locales/fr/battle.ts index 861dc6fd73c..6a209eb9f08 100644 --- a/src/locales/fr/battle.ts +++ b/src/locales/fr/battle.ts @@ -61,7 +61,7 @@ export const battle: SimpleTranslationEntries = { "hpIsFull": "Les PV de {{pokemonName}}\nsont au maximum !", "skipItemQuestion": "Êtes-vous sûr·e de ne pas vouloir prendre d’objet ?", "eggHatching": "Hein ?", - "ivScannerUseQuestion": "Utiliser le Scanner d’IV sur {{pokemonName}} ?", + "ivScannerUseQuestion": "Utiliser le Scanner d’IV\nsur {{pokemonName}} ?", "wildPokemonWithAffix": "{{pokemonName}} sauvage", "foePokemonWithAffix": "{{pokemonName}} ennemi", "useMove": "{{pokemonNameWithAffix}} utilise\n{{moveName}} !", @@ -74,21 +74,21 @@ export const battle: SimpleTranslationEntries = { "statsAnd": "et", "stats": "Les stats", "statRose_one": "{{stats}} de {{pokemonNameWithAffix}}\naugmente !", - "statRose_other": "{{stats}} de {{pokemonNameWithAffix}}\naugmentent !", + "statRose_other": "{{stats}}\nde {{pokemonNameWithAffix}} augmentent !", "statSharplyRose_one": "{{stats}} de {{pokemonNameWithAffix}}\naugmente beaucoup !", - "statSharplyRose_other": "{{stats}} de {{pokemonNameWithAffix}}\naugmentent beaucoup !", + "statSharplyRose_other": "{{stats}}\nde {{pokemonNameWithAffix}} augmentent beaucoup !", "statRoseDrastically_one": "{{stats}} de {{pokemonNameWithAffix}}\naugmente énormément !", - "statRoseDrastically_other": "{{stats}} de {{pokemonNameWithAffix}}\naugmentent énormément !", + "statRoseDrastically_other": "{{stats}}\nde {{pokemonNameWithAffix}} augmentent énormément !", "statWontGoAnyHigher_one": "{{stats}} de {{pokemonNameWithAffix}}\nne peut plus augmenter !", - "statWontGoAnyHigher_other": "{{stats}} de {{pokemonNameWithAffix}}\nne peuvent plus augmenter !", + "statWontGoAnyHigher_other": "{{stats}}\nde {{pokemonNameWithAffix}} ne peuvent plus augmenter !", "statFell_one": "{{stats}} de {{pokemonNameWithAffix}}\nbaisse !", - "statFell_other": "{{stats}} de {{pokemonNameWithAffix}}\nbaissent !", + "statFell_other": "{{stats}}\nde {{pokemonNameWithAffix}} baissent !", "statHarshlyFell_one": "{{stats}} de {{pokemonNameWithAffix}}\nbaisse beaucoup !", - "statHarshlyFell_other": "{{stats}} de {{pokemonNameWithAffix}}\nbaissent beaucoup !", + "statHarshlyFell_other": "{{stats}}\nde {{pokemonNameWithAffix}} baissent beaucoup !", "statSeverelyFell_one": "{{stats}} de {{pokemonNameWithAffix}}\nbaisse énormément !", - "statSeverelyFell_other": "{{stats}} de {{pokemonNameWithAffix}}\nbaissent énormément !", + "statSeverelyFell_other": "{{stats}}\nde {{pokemonNameWithAffix}} baissent énormément !", "statWontGoAnyLower_one": "{{stats}} de {{pokemonNameWithAffix}}\nne peut plus baisser !", - "statWontGoAnyLower_other": "{{stats}} de {{pokemonNameWithAffix}}\nne peuvent plus baisser !", + "statWontGoAnyLower_other": "{{stats}}\nde {{pokemonNameWithAffix}} ne peuvent plus baisser !", "transformedIntoType": "{{pokemonName}} transformed\ninto the {{type}} type!", "ppReduced": "Les PP de la capacité {{moveName}}\nde {{targetName}} baissent de {{reduction}} !", "retryBattle": "Voulez-vous réessayer depuis le début du combat ?", diff --git a/src/locales/fr/starter-select-ui-handler.ts b/src/locales/fr/starter-select-ui-handler.ts index c49c326385f..dbd056cbf2a 100644 --- a/src/locales/fr/starter-select-ui-handler.ts +++ b/src/locales/fr/starter-select-ui-handler.ts @@ -7,7 +7,7 @@ import { SimpleTranslationEntries } from "#app/interfaces/locales"; */ export const starterSelectUiHandler: SimpleTranslationEntries = { "confirmStartTeam": "Commencer avec ces Pokémon ?", - "confirmExit": "Do you want to exit?", + "confirmExit": "Êtes-vous sûr·e de vouloir quitter ?", "invalidParty": "Cette équipe de départ est invalide !", "gen1": "1G", "gen2": "2G", From af56eee1cf23383164a2ac390afb94ba01bdde4d Mon Sep 17 00:00:00 2001 From: Tempoanon <163687446+Tempo-anon@users.noreply.github.com> Date: Tue, 6 Aug 2024 12:20:23 -0400 Subject: [PATCH 6/8] [Bug] Fix Storm moves having accuracy drops in sun/sand (#3381) --- src/data/move.ts | 32 ++++++++++++++++++++++++++++---- 1 file changed, 28 insertions(+), 4 deletions(-) diff --git a/src/data/move.ts b/src/data/move.ts index a00d81e5980..0ea4e4221c5 100644 --- a/src/data/move.ts +++ b/src/data/move.ts @@ -3565,6 +3565,9 @@ export class VariableAccuracyAttr extends MoveAttr { } } +/** + * Attribute used for Thunder and Hurricane that sets accuracy to 50 in sun and never miss in rain + */ export class ThunderAccuracyAttr extends VariableAccuracyAttr { apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { if (!user.scene.arena.weather?.isEffectSuppressed(user.scene)) { @@ -3572,7 +3575,6 @@ export class ThunderAccuracyAttr extends VariableAccuracyAttr { const weatherType = user.scene.arena.weather?.weatherType || WeatherType.NONE; switch (weatherType) { case WeatherType.SUNNY: - case WeatherType.SANDSTORM: case WeatherType.HARSH_SUN: accuracy.value = 50; return true; @@ -3587,6 +3589,28 @@ export class ThunderAccuracyAttr extends VariableAccuracyAttr { } } +/** + * Attribute used for Bleakwind Storm, Wildbolt Storm, and Sandsear Storm that sets accuracy to never + * miss in rain + * Springtide Storm does NOT have this property + */ +export class StormAccuracyAttr extends VariableAccuracyAttr { + apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { + if (!user.scene.arena.weather?.isEffectSuppressed(user.scene)) { + const accuracy = args[0] as Utils.NumberHolder; + const weatherType = user.scene.arena.weather?.weatherType || WeatherType.NONE; + switch (weatherType) { + case WeatherType.RAIN: + case WeatherType.HEAVY_RAIN: + accuracy.value = -1; + return true; + } + } + + return false; + } +} + /** * Attribute used for moves which never miss * against Pokemon with the {@linkcode BattlerTagType.MINIMIZED} @@ -8396,17 +8420,17 @@ export function initMoves() { .attr(AddArenaTrapTagHitAttr, ArenaTagType.SPIKES) .slicingMove(), new AttackMove(Moves.BLEAKWIND_STORM, Type.FLYING, MoveCategory.SPECIAL, 100, 80, 10, 30, 0, 8) - .attr(ThunderAccuracyAttr) + .attr(StormAccuracyAttr) .attr(StatChangeAttr, BattleStat.SPD, -1) .windMove() .target(MoveTarget.ALL_NEAR_ENEMIES), new AttackMove(Moves.WILDBOLT_STORM, Type.ELECTRIC, MoveCategory.SPECIAL, 100, 80, 10, 20, 0, 8) - .attr(ThunderAccuracyAttr) + .attr(StormAccuracyAttr) .attr(StatusEffectAttr, StatusEffect.PARALYSIS) .windMove() .target(MoveTarget.ALL_NEAR_ENEMIES), new AttackMove(Moves.SANDSEAR_STORM, Type.GROUND, MoveCategory.SPECIAL, 100, 80, 10, 20, 0, 8) - .attr(ThunderAccuracyAttr) + .attr(StormAccuracyAttr) .attr(StatusEffectAttr, StatusEffect.BURN) .windMove() .target(MoveTarget.ALL_NEAR_ENEMIES), From d66d4d1eeb4f66c85f72f0f3349e24f2bc8a80d5 Mon Sep 17 00:00:00 2001 From: Lugiad Date: Tue, 6 Aug 2024 19:46:11 +0200 Subject: [PATCH 7/8] [Localization] Missing translation placeholders of Fresh Start challenge in some languages (#3383) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Update achv.ts * Update challenges.ts * Update achv.ts * Update achv.ts * Update challenges.ts * Update challenges.ts * Update achv.ts * Update challenges.ts * Update achv.ts * Update src/locales/de/achv.ts Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com> * Update src/locales/pt_BR/challenges.ts Co-authored-by: José Ricardo Fleury Oliveira * Update achv.ts * Update challenges.ts * Update achv.ts * Update challenges.ts * Update achv.ts * Update challenges.ts * Update achv.ts * Update challenges.ts --------- Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com> Co-authored-by: José Ricardo Fleury Oliveira --- src/locales/de/achv.ts | 5 +++++ src/locales/en/achv.ts | 2 +- src/locales/en/challenges.ts | 2 +- src/locales/es/achv.ts | 4 ++++ src/locales/es/challenges.ts | 6 ++++++ src/locales/it/achv.ts | 6 +++++- src/locales/it/challenges.ts | 6 ++++++ src/locales/pt_BR/challenges.ts | 6 ++++++ src/locales/zh_TW/achv.ts | 4 ++++ src/locales/zh_TW/challenges.ts | 6 ++++++ 10 files changed, 44 insertions(+), 3 deletions(-) diff --git a/src/locales/de/achv.ts b/src/locales/de/achv.ts index 6040c3ea916..6c84988883d 100644 --- a/src/locales/de/achv.ts +++ b/src/locales/de/achv.ts @@ -264,6 +264,10 @@ export const PGMachv: AchievementTranslationEntries = { "MONO_FAIRY": { name: "Ein ewiges Abenteuer!", }, + "FRESH_START": { + name: "Hussa, noch einmal von vorn!", + description: "Schließe die 'Neuanfang' Herausforderung ab" + } } as const; // Achievement translations for the when the player character is female @@ -373,5 +377,6 @@ export const PGFachv: AchievementTranslationEntries = { "MONO_DRAGON": PGMachv.MONO_DRAGON, "MONO_DARK": PGMachv.MONO_DARK, "MONO_FAIRY": PGMachv.MONO_FAIRY, + "FRESH_START": PGMachv.FRESH_START } as const; diff --git a/src/locales/en/achv.ts b/src/locales/en/achv.ts index 3063488c659..6123b735c4e 100644 --- a/src/locales/en/achv.ts +++ b/src/locales/en/achv.ts @@ -266,7 +266,7 @@ export const PGMachv: AchievementTranslationEntries = { }, "FRESH_START": { name: "First Try!", - description: "Complete the fresh start challenge." + description: "Complete the Fresh Start challenge." } } as const; diff --git a/src/locales/en/challenges.ts b/src/locales/en/challenges.ts index a3b45d31792..e3302876201 100644 --- a/src/locales/en/challenges.ts +++ b/src/locales/en/challenges.ts @@ -25,7 +25,7 @@ export const challenges: TranslationEntries = { }, "freshStart": { "name": "Fresh Start", - "desc": "You can only use the original starters, and only as if you had just started pokerogue.", + "desc": "You can only use the original starters, and only as if you had just started PokéRogue.", "value.0": "Off", "value.1": "On", } diff --git a/src/locales/es/achv.ts b/src/locales/es/achv.ts index 47348903b28..ed734f21d0a 100644 --- a/src/locales/es/achv.ts +++ b/src/locales/es/achv.ts @@ -264,6 +264,10 @@ export const PGMachv: AchievementTranslationEntries = { "MONO_FAIRY": { name: "Mono FAIRY", }, + "FRESH_START": { + name: "First Try!", + description: "Complete the Fresh Start challenge." + } } as const; // Achievement translations for the when the player character is female (it for now uses the same translations as the male version) diff --git a/src/locales/es/challenges.ts b/src/locales/es/challenges.ts index 711be39b116..063933a5e27 100644 --- a/src/locales/es/challenges.ts +++ b/src/locales/es/challenges.ts @@ -22,4 +22,10 @@ export const challenges: TranslationEntries = { "desc": "Solo puedes usar Pokémon with the {{type}} type.", "desc_default": "Solo puedes usar Pokémon del tipo elegido.", }, + "freshStart": { + "name": "Fresh Start", + "desc": "You can only use the original starters, and only as if you had just started PokéRogue.", + "value.0": "Off", + "value.1": "On", + } } as const; diff --git a/src/locales/it/achv.ts b/src/locales/it/achv.ts index 50baae41790..e7e35a1a47b 100644 --- a/src/locales/it/achv.ts +++ b/src/locales/it/achv.ts @@ -99,7 +99,7 @@ export const PGMachv: AchievementTranslationEntries = { }, "MEGA_EVOLVE": { name: "Megamorfosi", - description: "Megaevolvi un pokémon", + description: "Megaevolvi un Pokémon", }, "GIGANTAMAX": { name: "Grosso e Cattivo", @@ -264,6 +264,10 @@ export const PGMachv: AchievementTranslationEntries = { "MONO_FAIRY": { name: "Follettini e follettine", }, + "FRESH_START": { + name: "First Try!", + description: "Complete the Fresh Start challenge." + } } as const; // Achievement translations for the when the player character is female (it for now uses the same translations as the male version) diff --git a/src/locales/it/challenges.ts b/src/locales/it/challenges.ts index 2643b16d0f7..784791f5425 100644 --- a/src/locales/it/challenges.ts +++ b/src/locales/it/challenges.ts @@ -22,4 +22,10 @@ export const challenges: TranslationEntries = { "desc": "Puoi usare solo Pokémon di tipo {{type}}.", "desc_default": "Puoi usare solo Pokémon del tipo selezionato." }, + "freshStart": { + "name": "Fresh Start", + "desc": "You can only use the original starters, and only as if you had just started PokéRogue.", + "value.0": "Off", + "value.1": "On", + } } as const; diff --git a/src/locales/pt_BR/challenges.ts b/src/locales/pt_BR/challenges.ts index 7c991189bc8..31f29da48f3 100644 --- a/src/locales/pt_BR/challenges.ts +++ b/src/locales/pt_BR/challenges.ts @@ -22,4 +22,10 @@ export const challenges: TranslationEntries = { "desc": "Você só pode user Pokémon do tipo {{type}}.", "desc_default": "Você só pode user Pokémon de um único tipo." }, + "freshStart": { + "name": "Novo Começo", + "desc": "Você só pode usar os iniciais originais, como se tivesse acabado de começar o PokéRogue.", + "value.0": "Desligado", + "value.1": "Ligado", + } } as const; diff --git a/src/locales/zh_TW/achv.ts b/src/locales/zh_TW/achv.ts index 8b85f59447e..7c945e794a2 100644 --- a/src/locales/zh_TW/achv.ts +++ b/src/locales/zh_TW/achv.ts @@ -264,6 +264,10 @@ export const PGMachv: AchievementTranslationEntries = { "MONO_FAIRY": { name: "林克,醒醒!", }, + "FRESH_START": { + name: "First Try!", + description: "Complete the Fresh Start challenge." + } } as const; // Achievement translations for the when the player character is female (it for now uses the same translations as the male version) diff --git a/src/locales/zh_TW/challenges.ts b/src/locales/zh_TW/challenges.ts index e702ec4f278..15571e11912 100644 --- a/src/locales/zh_TW/challenges.ts +++ b/src/locales/zh_TW/challenges.ts @@ -22,4 +22,10 @@ export const challenges: TranslationEntries = { "desc": "你只能使用{{type}}\n屬性的寶可夢", "desc_default": "你只能使用所選\n屬性的寶可夢" }, + "freshStart": { + "name": "Fresh Start", + "desc": "You can only use the original starters, and only as if you had just started PokéRogue.", + "value.0": "Off", + "value.1": "On", + } } as const; From c722490f6097372fad4e71ae574cda1299ce938e Mon Sep 17 00:00:00 2001 From: Tempoanon <163687446+Tempo-anon@users.noreply.github.com> Date: Tue, 6 Aug 2024 14:05:19 -0400 Subject: [PATCH 8/8] [Feature] Allow Phione eggs to have a 1/8 chance to hatch Manaphy (#2787) * Add feature and debug DO NOT MERGE * Remove debug stuff --- src/data/egg.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/data/egg.ts b/src/data/egg.ts index a7a1b167238..cb889951488 100644 --- a/src/data/egg.ts +++ b/src/data/egg.ts @@ -205,7 +205,11 @@ export class Egg { this._species = this.rollSpecies(scene); } - const pokemonSpecies = getPokemonSpecies(this._species); + let pokemonSpecies = getPokemonSpecies(this._species); + // Special condition to have Phione eggs also have a chance of generating Manaphy + if (this._species === Species.PHIONE) { + pokemonSpecies = getPokemonSpecies(Utils.randSeedInt(MANAPHY_EGG_MANAPHY_RATE) ? Species.PHIONE : Species.MANAPHY); + } // Sets the hidden ability if a hidden ability exists and the override is set // or if the same species egg hits the chance