diff --git a/src/battle-scene.ts b/src/battle-scene.ts index 313967808da..7ecdca8ae6b 100644 --- a/src/battle-scene.ts +++ b/src/battle-scene.ts @@ -115,10 +115,10 @@ import { AbilityBar } from "#ui/containers/ability-bar"; import { ArenaFlyout } from "#ui/containers/arena-flyout"; import { CandyBar } from "#ui/containers/candy-bar"; import { CharSprite } from "#ui/containers/char-sprite"; -import { ItemBar } from "#ui/item-bar-ui"; import { PartyExpBar } from "#ui/containers/party-exp-bar"; import { PokeballTray } from "#ui/containers/pokeball-tray"; import { PokemonInfoContainer } from "#ui/containers/pokemon-info-container"; +import { ItemBar } from "#ui/item-bar-ui"; import { addTextObject, getTextColor } from "#ui/text"; import { UI } from "#ui/ui"; import { addUiThemeOverrides } from "#ui/ui-theme"; @@ -2907,7 +2907,7 @@ export class BattleScene extends SceneBase { for (const t in tokens) { (allTrainerItems[t] as EnemyAttackStatusEffectChanceTrainerItem).apply(this.enemyTrainerItems, { - pokemon: pokemon, + pokemon, }); } } diff --git a/src/data/abilities/ability.ts b/src/data/abilities/ability.ts index 6b925ff0e6f..c24d4af4e92 100644 --- a/src/data/abilities/ability.ts +++ b/src/data/abilities/ability.ts @@ -4640,8 +4640,8 @@ export class PostTurnRestoreBerryAbAttr extends PostTurnAbAttr { .getHeldItems() .filter( bm => - isItemInCategory(bm, HeldItemCategoryId.BERRY) && - pokemon.heldItemManager.getStack(bm) < allHeldItems[bm].maxStackCount, + isItemInCategory(bm, HeldItemCategoryId.BERRY) + && pokemon.heldItemManager.getStack(bm) < allHeldItems[bm].maxStackCount, ) .map(bm => (allHeldItems[bm] as BerryHeldItem).berryType), ); @@ -6261,16 +6261,14 @@ class ForceSwitchOutHelper { } } - if (!allyPokemon?.isActive(true)) { - if (switchOutTarget.hp) { - globalScene.phaseManager.pushNew("BattleEndPhase", false); + if (!allyPokemon?.isActive(true) && switchOutTarget.hp) { + globalScene.phaseManager.pushNew("BattleEndPhase", false); - if (globalScene.gameMode.hasRandomBiomes || globalScene.isNewBiome()) { - globalScene.phaseManager.pushNew("SelectBiomePhase"); - } - - globalScene.phaseManager.pushNew("NewBattlePhase"); + if (globalScene.gameMode.hasRandomBiomes || globalScene.isNewBiome()) { + globalScene.phaseManager.pushNew("SelectBiomePhase"); } + + globalScene.phaseManager.pushNew("NewBattlePhase"); } } return false; diff --git a/src/data/mystery-encounters/encounters/absolute-avarice-encounter.ts b/src/data/mystery-encounters/encounters/absolute-avarice-encounter.ts index 79923552ad4..d9e093970a4 100644 --- a/src/data/mystery-encounters/encounters/absolute-avarice-encounter.ts +++ b/src/data/mystery-encounters/encounters/absolute-avarice-encounter.ts @@ -40,11 +40,11 @@ const namespace = "mysteryEncounters/absoluteAvarice"; function berrySprite(spriteKey: string, x: number, y: number): MysteryEncounterSpriteConfig { return { - spriteKey: spriteKey, + spriteKey, fileRoot: "items", isItem: true, - x: x, - y: y, + x, + y, hidden: true, disableAnimation: true, }; diff --git a/src/data/mystery-encounters/encounters/dark-deal-encounter.ts b/src/data/mystery-encounters/encounters/dark-deal-encounter.ts index 2267a70c9af..5045db7896a 100644 --- a/src/data/mystery-encounters/encounters/dark-deal-encounter.ts +++ b/src/data/mystery-encounters/encounters/dark-deal-encounter.ts @@ -158,7 +158,7 @@ export const DarkDealEncounter: MysteryEncounter = MysteryEncounterBuilder.withE // Store removed pokemon types encounter.misc = { removedTypes: removedPokemon.getTypes(), - itemConfig: itemConfig, + itemConfig, }; }) .withOptionPhase(async () => { diff --git a/src/data/mystery-encounters/encounters/global-trade-system-encounter.ts b/src/data/mystery-encounters/encounters/global-trade-system-encounter.ts index 6a220e1c399..39192989651 100644 --- a/src/data/mystery-encounters/encounters/global-trade-system-encounter.ts +++ b/src/data/mystery-encounters/encounters/global-trade-system-encounter.ts @@ -288,8 +288,8 @@ export const GlobalTradeSystemEncounter: MysteryEncounter = MysteryEncounterBuil if (tradePokemon.species.abilityHidden && tradePokemon.abilityIndex < hiddenIndex) { const hiddenAbilityChance = new NumberHolder(64); globalScene.applyPlayerItems(TrainerItemEffect.HIDDEN_ABILITY_CHANCE_BOOSTER, { - numberHolder: hiddenAbilityChance, - }); + numberHolder: hiddenAbilityChance, + }); const hasHiddenAbility = !randSeedInt(hiddenAbilityChance.value); diff --git a/src/data/mystery-encounters/encounters/shady-vitamin-dealer-encounter.ts b/src/data/mystery-encounters/encounters/shady-vitamin-dealer-encounter.ts index 2b5c84c6837..c7f997a39af 100644 --- a/src/data/mystery-encounters/encounters/shady-vitamin-dealer-encounter.ts +++ b/src/data/mystery-encounters/encounters/shady-vitamin-dealer-encounter.ts @@ -100,7 +100,7 @@ export const ShadyVitaminDealerEncounter: MysteryEncounter = MysteryEncounterBui encounter.setDialogueToken("boost2", allHeldItems[items[1]].name); encounter.misc = { chosenPokemon: pokemon, - items: items, + items, }; }; @@ -180,7 +180,7 @@ export const ShadyVitaminDealerEncounter: MysteryEncounter = MysteryEncounterBui encounter.setDialogueToken("boost2", allHeldItems[items[1]].name); encounter.misc = { chosenPokemon: pokemon, - items: items, + items, }; }; diff --git a/src/data/mystery-encounters/mystery-encounter-requirements.ts b/src/data/mystery-encounters/mystery-encounter-requirements.ts index 31311d88dfd..4dd6df80d98 100644 --- a/src/data/mystery-encounters/mystery-encounter-requirements.ts +++ b/src/data/mystery-encounters/mystery-encounter-requirements.ts @@ -907,8 +907,8 @@ export class HeldItemRequirement extends EncounterSceneRequirement { override getDialogueToken(pokemon?: PlayerPokemon): [string, string] { const requiredItems = pokemon?.getHeldItems().filter(item => { return ( - this.requiredHeldItems.some(heldItem => item === heldItem) && - (!this.requireTransferable || allHeldItems[item].isTransferable) + this.requiredHeldItems.some(heldItem => item === heldItem) + && (!this.requireTransferable || allHeldItems[item].isTransferable) ); }); if (requiredItems && requiredItems.length > 0) { diff --git a/src/enums/form-change-item-id.ts b/src/enums/form-change-item-id.ts index 6d03bd07730..a4824ca087d 100644 --- a/src/enums/form-change-item-id.ts +++ b/src/enums/form-change-item-id.ts @@ -6,124 +6,123 @@ import type { ObjectValues } from "#types/type-helpers"; */ export const FormChangeItemId = { // Mega Stones - ABOMASITE: 0x0B01, - ABSOLITE: 0x0B02, - AERODACTYLITE: 0x0B03, - AGGRONITE: 0x0B04, - ALAKAZITE: 0x0B05, - ALTARIANITE: 0x0B06, - AMPHAROSITE: 0x0B07, - AUDINITE: 0x0B08, - BANETTITE: 0x0B09, - BEEDRILLITE: 0x0B0A, - BLASTOISINITE: 0x0B0B, - BLAZIKENITE: 0x0B0C, - CAMERUPTITE: 0x0B0D, - CHARIZARDITE_X: 0x0B0E, - CHARIZARDITE_Y: 0x0B0F, - DIANCITE: 0x0B10, - GALLADITE: 0x0B11, - GARCHOMPITE: 0x0B12, - GARDEVOIRITE: 0x0B13, - GENGARITE: 0x0B14, - GLALITITE: 0x0B15, - GYARADOSITE: 0x0B16, - HERACRONITE: 0x0B17, - HOUNDOOMINITE: 0x0B18, - KANGASKHANITE: 0x0B19, - LATIASITE: 0x0B1A, - LATIOSITE: 0x0B1B, - LOPUNNITE: 0x0B1C, - LUCARIONITE: 0x0B1D, - MANECTITE: 0x0B1E, - MAWILITE: 0x0B1F, - MEDICHAMITE: 0x0B20, - METAGROSSITE: 0x0B21, - MEWTWONITE_X: 0x0B22, - MEWTWONITE_Y: 0x0B23, - PIDGEOTITE: 0x0B24, - PINSIRITE: 0x0B25, - RAYQUAZITE: 0x0B26, - SABLENITE: 0x0B27, - SALAMENCITE: 0x0B28, - SCEPTILITE: 0x0B29, - SCIZORITE: 0x0B2A, - SHARPEDONITE: 0x0B2B, - SLOWBRONITE: 0x0B2C, - STEELIXITE: 0x0B2D, - SWAMPERTITE: 0x0B2E, - TYRANITARITE: 0x0B2F, - VENUSAURITE: 0x0B30, + ABOMASITE: 0x0b01, + ABSOLITE: 0x0b02, + AERODACTYLITE: 0x0b03, + AGGRONITE: 0x0b04, + ALAKAZITE: 0x0b05, + ALTARIANITE: 0x0b06, + AMPHAROSITE: 0x0b07, + AUDINITE: 0x0b08, + BANETTITE: 0x0b09, + BEEDRILLITE: 0x0b0a, + BLASTOISINITE: 0x0b0b, + BLAZIKENITE: 0x0b0c, + CAMERUPTITE: 0x0b0d, + CHARIZARDITE_X: 0x0b0e, + CHARIZARDITE_Y: 0x0b0f, + DIANCITE: 0x0b10, + GALLADITE: 0x0b11, + GARCHOMPITE: 0x0b12, + GARDEVOIRITE: 0x0b13, + GENGARITE: 0x0b14, + GLALITITE: 0x0b15, + GYARADOSITE: 0x0b16, + HERACRONITE: 0x0b17, + HOUNDOOMINITE: 0x0b18, + KANGASKHANITE: 0x0b19, + LATIASITE: 0x0b1a, + LATIOSITE: 0x0b1b, + LOPUNNITE: 0x0b1c, + LUCARIONITE: 0x0b1d, + MANECTITE: 0x0b1e, + MAWILITE: 0x0b1f, + MEDICHAMITE: 0x0b20, + METAGROSSITE: 0x0b21, + MEWTWONITE_X: 0x0b22, + MEWTWONITE_Y: 0x0b23, + PIDGEOTITE: 0x0b24, + PINSIRITE: 0x0b25, + RAYQUAZITE: 0x0b26, + SABLENITE: 0x0b27, + SALAMENCITE: 0x0b28, + SCEPTILITE: 0x0b29, + SCIZORITE: 0x0b2a, + SHARPEDONITE: 0x0b2b, + SLOWBRONITE: 0x0b2c, + STEELIXITE: 0x0b2d, + SWAMPERTITE: 0x0b2e, + TYRANITARITE: 0x0b2f, + VENUSAURITE: 0x0b30, // Other rare form change items - BLUE_ORB: 0x0B51, - RED_ORB: 0x0B52, - ADAMANT_CRYSTAL: 0x0B53, - LUSTROUS_GLOBE: 0x0B54, - GRISEOUS_CORE: 0x0B55, - REVEAL_GLASS: 0x0B56, - MAX_MUSHROOMS: 0x0B57, - DARK_STONE: 0x0B58, - LIGHT_STONE: 0x0B59, - PRISON_BOTTLE: 0x0B5A, - RUSTED_SWORD: 0x0B5B, - RUSTED_SHIELD: 0x0B5C, - ICY_REINS_OF_UNITY: 0x0B5D, - SHADOW_REINS_OF_UNITY: 0x0B5E, - ULTRANECROZIUM_Z: 0x0B5F, + BLUE_ORB: 0x0b51, + RED_ORB: 0x0b52, + ADAMANT_CRYSTAL: 0x0b53, + LUSTROUS_GLOBE: 0x0b54, + GRISEOUS_CORE: 0x0b55, + REVEAL_GLASS: 0x0b56, + MAX_MUSHROOMS: 0x0b57, + DARK_STONE: 0x0b58, + LIGHT_STONE: 0x0b59, + PRISON_BOTTLE: 0x0b5a, + RUSTED_SWORD: 0x0b5b, + RUSTED_SHIELD: 0x0b5c, + ICY_REINS_OF_UNITY: 0x0b5d, + SHADOW_REINS_OF_UNITY: 0x0b5e, + ULTRANECROZIUM_Z: 0x0b5f, // less rare form change items - SHARP_METEORITE: 0x0C01, - HARD_METEORITE: 0x0C02, - SMOOTH_METEORITE: 0x0C03, - GRACIDEA: 0x0C04, - SHOCK_DRIVE: 0x0C05, - BURN_DRIVE: 0x0C06, - CHILL_DRIVE: 0x0C07, - DOUSE_DRIVE: 0x0C08, - N_SOLARIZER: 0x0C09, - N_LUNARIZER: 0x0C0A, - WELLSPRING_MASK: 0x0C0B, - HEARTHFLAME_MASK: 0x0C0C, - CORNERSTONE_MASK: 0x0C0D, - FIST_PLATE: 0x0C0E, - SKY_PLATE: 0x0C0F, - TOXIC_PLATE: 0x0C10, - EARTH_PLATE: 0x0C11, - STONE_PLATE: 0x0C12, - INSECT_PLATE: 0x0C13, - SPOOKY_PLATE: 0x0C14, - IRON_PLATE: 0x0C15, - FLAME_PLATE: 0x0C16, - SPLASH_PLATE: 0x0C17, - MEADOW_PLATE: 0x0C18, - ZAP_PLATE: 0x0C19, - MIND_PLATE: 0x0C1A, - ICICLE_PLATE: 0x0C1B, - DRACO_PLATE: 0x0C1C, - DREAD_PLATE: 0x0C1D, - PIXIE_PLATE: 0x0C1E, - BLANK_PLATE: 0x0C1F, // TODO: Find a potential use for this - LEGEND_PLATE: 0x0C20, // TODO: Find a potential use for this - FIGHTING_MEMORY: 0x0C21, - FLYING_MEMORY: 0x0C22, - POISON_MEMORY: 0x0C23, - GROUND_MEMORY: 0x0C24, - ROCK_MEMORY: 0x0C25, - BUG_MEMORY: 0x0C26, - GHOST_MEMORY: 0x0C27, - STEEL_MEMORY: 0x0C28, - FIRE_MEMORY: 0x0C29, - WATER_MEMORY: 0x0C2A, - GRASS_MEMORY: 0x0C2B, - ELECTRIC_MEMORY: 0x0C2C, - PSYCHIC_MEMORY: 0x0C2D, - ICE_MEMORY: 0x0C2E, - DRAGON_MEMORY: 0x0C2F, - DARK_MEMORY: 0x0C30, - FAIRY_MEMORY: 0x0C31, - NORMAL_MEMORY: 0x0C32, + SHARP_METEORITE: 0x0c01, + HARD_METEORITE: 0x0c02, + SMOOTH_METEORITE: 0x0c03, + GRACIDEA: 0x0c04, + SHOCK_DRIVE: 0x0c05, + BURN_DRIVE: 0x0c06, + CHILL_DRIVE: 0x0c07, + DOUSE_DRIVE: 0x0c08, + N_SOLARIZER: 0x0c09, + N_LUNARIZER: 0x0c0a, + WELLSPRING_MASK: 0x0c0b, + HEARTHFLAME_MASK: 0x0c0c, + CORNERSTONE_MASK: 0x0c0d, + FIST_PLATE: 0x0c0e, + SKY_PLATE: 0x0c0f, + TOXIC_PLATE: 0x0c10, + EARTH_PLATE: 0x0c11, + STONE_PLATE: 0x0c12, + INSECT_PLATE: 0x0c13, + SPOOKY_PLATE: 0x0c14, + IRON_PLATE: 0x0c15, + FLAME_PLATE: 0x0c16, + SPLASH_PLATE: 0x0c17, + MEADOW_PLATE: 0x0c18, + ZAP_PLATE: 0x0c19, + MIND_PLATE: 0x0c1a, + ICICLE_PLATE: 0x0c1b, + DRACO_PLATE: 0x0c1c, + DREAD_PLATE: 0x0c1d, + PIXIE_PLATE: 0x0c1e, + BLANK_PLATE: 0x0c1f, // TODO: Find a potential use for this + LEGEND_PLATE: 0x0c20, // TODO: Find a potential use for this + FIGHTING_MEMORY: 0x0c21, + FLYING_MEMORY: 0x0c22, + POISON_MEMORY: 0x0c23, + GROUND_MEMORY: 0x0c24, + ROCK_MEMORY: 0x0c25, + BUG_MEMORY: 0x0c26, + GHOST_MEMORY: 0x0c27, + STEEL_MEMORY: 0x0c28, + FIRE_MEMORY: 0x0c29, + WATER_MEMORY: 0x0c2a, + GRASS_MEMORY: 0x0c2b, + ELECTRIC_MEMORY: 0x0c2c, + PSYCHIC_MEMORY: 0x0c2d, + ICE_MEMORY: 0x0c2e, + DRAGON_MEMORY: 0x0c2f, + DARK_MEMORY: 0x0c30, + FAIRY_MEMORY: 0x0c31, + NORMAL_MEMORY: 0x0c32, } as const; -export type FormChangeItemId = ObjectValues - +export type FormChangeItemId = ObjectValues; diff --git a/src/enums/held-item-id.ts b/src/enums/held-item-id.ts index bb98215c243..1bf4e67cf72 100644 --- a/src/enums/held-item-id.ts +++ b/src/enums/held-item-id.ts @@ -15,8 +15,8 @@ export const HeldItemId = { APICOT_BERRY: 0x0107, SALAC_BERRY: 0x0108, LANSAT_BERRY: 0x0109, - STARF_BERRY: 0x010A, - LEPPA_BERRY: 0x010B, + STARF_BERRY: 0x010a, + LEPPA_BERRY: 0x010b, // Other items that are consumed REVIVER_SEED: 0x0201, @@ -32,12 +32,12 @@ export const HeldItemId = { SILVER_POWDER: 0x0307, SPELL_TAG: 0x0308, METAL_COAT: 0x0309, - CHARCOAL: 0x030A, - MYSTIC_WATER: 0x030B, - MIRACLE_SEED: 0x030C, - MAGNET: 0x030D, - TWISTED_SPOON: 0x030E, - NEVER_MELT_ICE: 0x030F, + CHARCOAL: 0x030a, + MYSTIC_WATER: 0x030b, + MIRACLE_SEED: 0x030c, + MAGNET: 0x030d, + TWISTED_SPOON: 0x030e, + NEVER_MELT_ICE: 0x030f, DRAGON_FANG: 0x0310, BLACK_GLASSES: 0x0311, FAIRY_FEATHER: 0x0312, @@ -69,12 +69,12 @@ export const HeldItemId = { WIDE_LENS: 0x0707, MULTI_LENS: 0x0708, GOLDEN_PUNCH: 0x0709, - GRIP_CLAW: 0x070A, - TOXIC_ORB: 0x070B, - FLAME_ORB: 0x070C, - SOUL_DEW: 0x070D, - BATON: 0x070E, - MINI_BLACK_HOLE: 0x070F, + GRIP_CLAW: 0x070a, + TOXIC_ORB: 0x070b, + FLAME_ORB: 0x070c, + SOUL_DEW: 0x070d, + BATON: 0x070e, + MINI_BLACK_HOLE: 0x070f, EVIOLITE: 0x0710, // Vitamins @@ -92,30 +92,32 @@ export const HeldItemId = { MACHO_BRACE: 0x0904, // Evo trackers - GIMMIGHOUL_EVO_TRACKER: 0x0A01, + GIMMIGHOUL_EVO_TRACKER: 0x0a01, // All form change items - ...FormChangeItemId + ...FormChangeItemId, } as const; export type HeldItemId = ObjectValues; type HeldItemNameMap = { - [k in HeldItemName as (typeof HeldItemId)[k]]: k -} + [k in HeldItemName as (typeof HeldItemId)[k]]: k; +}; type HeldItemName = keyof typeof HeldItemId; /** `const object` mapping all held item IDs to their respective names. */ // TODO: This stores names as UPPER_SNAKE_CASE, but the locales are in PascalCase... -export const HeldItemNames = Object.freeze(Object.entries(HeldItemId).reduce( - // Use a type-safe reducer to force number keys and values - (acc, [key, value]) => { - acc[value] = key; - return acc; - }, - {} -)) as HeldItemNameMap; +export const HeldItemNames = Object.freeze( + Object.entries(HeldItemId).reduce( + // Use a type-safe reducer to force number keys and values + (acc, [key, value]) => { + acc[value] = key; + return acc; + }, + {}, + ), +) as HeldItemNameMap; export const HeldItemCategoryId = { NONE: 0x0000, @@ -128,14 +130,14 @@ export const HeldItemCategoryId = { UNIQUE: 0x0700, VITAMIN: 0x0800, BASE_STAT_BOOST: 0x0900, - EVO_TRACKER: 0x0A00, - RARE_FORM_CHANGE: 0x0B00, - FORM_CHANGE: 0x0C00, + EVO_TRACKER: 0x0a00, + RARE_FORM_CHANGE: 0x0b00, + FORM_CHANGE: 0x0c00, } as const; export type HeldItemCategoryId = ObjectValues; -const ITEM_CATEGORY_MASK = 0xFF00 +const ITEM_CATEGORY_MASK = 0xff00; export function getHeldItemCategory(itemId: HeldItemId): HeldItemCategoryId { return (itemId & ITEM_CATEGORY_MASK) as HeldItemCategoryId; @@ -149,9 +151,6 @@ export function isItemInCategory(itemId: HeldItemId, category: HeldItemCategoryI return getHeldItemCategory(itemId) === category; } -export function isItemInRequested( - itemId: HeldItemId, - requestedItems: (HeldItemCategoryId | HeldItemId)[] -): boolean { +export function isItemInRequested(itemId: HeldItemId, requestedItems: (HeldItemCategoryId | HeldItemId)[]): boolean { return requestedItems.some(entry => itemId === entry || (itemId & ITEM_CATEGORY_MASK) === entry); } diff --git a/src/enums/reward-id.ts b/src/enums/reward-id.ts index cbec9c04395..8828ca8ccdd 100644 --- a/src/enums/reward-id.ts +++ b/src/enums/reward-id.ts @@ -43,29 +43,29 @@ export const RewardId = { PP_UP: 0x2901, PP_MAX: 0x2902, - TM_COMMON: 0x2A01, - TM_GREAT: 0x2A02, - TM_ULTRA: 0x2A03, + TM_COMMON: 0x2a01, + TM_GREAT: 0x2a02, + TM_ULTRA: 0x2a03, - MINT: 0x2B01, - TERA_SHARD: 0x2B02, - MEMORY_MUSHROOM: 0x2B03, - DNA_SPLICERS: 0x2B04, + MINT: 0x2b01, + TERA_SHARD: 0x2b02, + MEMORY_MUSHROOM: 0x2b03, + DNA_SPLICERS: 0x2b04, - SPECIES_STAT_BOOSTER: 0x2C01, - RARE_SPECIES_STAT_BOOSTER: 0x2C02, - VITAMIN: 0x2C03, - ATTACK_TYPE_BOOSTER: 0x2C04, - BERRY: 0x2C05, + SPECIES_STAT_BOOSTER: 0x2c01, + RARE_SPECIES_STAT_BOOSTER: 0x2c02, + VITAMIN: 0x2c03, + ATTACK_TYPE_BOOSTER: 0x2c04, + BERRY: 0x2c05, - TEMP_STAT_STAGE_BOOSTER: 0x2D01, - DIRE_HIT: 0x2D02, - LURE: 0x2D03, - SUPER_LURE: 0x2D04, - MAX_LURE: 0x2D05, + TEMP_STAT_STAGE_BOOSTER: 0x2d01, + DIRE_HIT: 0x2d02, + LURE: 0x2d03, + SUPER_LURE: 0x2d04, + MAX_LURE: 0x2d05, - FORM_CHANGE_ITEM: 0x2E01, - RARE_FORM_CHANGE_ITEM: 0x2E02, + FORM_CHANGE_ITEM: 0x2e01, + RARE_FORM_CHANGE_ITEM: 0x2e02, } as const; export type RewardId = ObjectValues; @@ -81,17 +81,17 @@ export const RewardCategoryId = { REVIVE: 0x0700, ETHER: 0x0800, ELIXIR: 0x0900, - PP_UP: 0x0A00, - TM: 0x0B00, - OTHER: 0x0C00, - HELD_ITEM: 0x0D00, - TRAINER_ITEM: 0x0E00, - FORM_CHANGE_ITEM: 0x0F00, + PP_UP: 0x0a00, + TM: 0x0b00, + OTHER: 0x0c00, + HELD_ITEM: 0x0d00, + TRAINER_ITEM: 0x0e00, + FORM_CHANGE_ITEM: 0x0f00, } as const; export type RewardCategoryId = ObjectValues; -const ITEM_CATEGORY_MASK = 0xFF00 +const ITEM_CATEGORY_MASK = 0xff00; export function getRewardCategory(itemId: RewardId): RewardCategoryId { return (itemId & ITEM_CATEGORY_MASK) as RewardCategoryId; diff --git a/src/enums/reward-pool-type.ts b/src/enums/reward-pool-type.ts index fa8c3834009..b14d274aee2 100644 --- a/src/enums/reward-pool-type.ts +++ b/src/enums/reward-pool-type.ts @@ -10,4 +10,4 @@ export enum HeldItemPoolType { export enum TrainerItemPoolType { ENEMY_BUFF, -} \ No newline at end of file +} diff --git a/src/enums/trainer-item-id.ts b/src/enums/trainer-item-id.ts index 9d07e5c3c50..b243bfd171e 100644 --- a/src/enums/trainer-item-id.ts +++ b/src/enums/trainer-item-id.ts @@ -1,62 +1,62 @@ export const TrainerItemId = { NONE: 0x0000, -MAP: 0x1001, -IV_SCANNER: 0x1002, -LOCK_CAPSULE: 0x1003, -MEGA_BRACELET: 0x1004, -DYNAMAX_BAND: 0x1005, -TERA_ORB: 0x1006, + MAP: 0x1001, + IV_SCANNER: 0x1002, + LOCK_CAPSULE: 0x1003, + MEGA_BRACELET: 0x1004, + DYNAMAX_BAND: 0x1005, + TERA_ORB: 0x1006, -GOLDEN_POKEBALL: 0x1007, + GOLDEN_POKEBALL: 0x1007, -OVAL_CHARM: 0x1008, -EXP_SHARE: 0x1009, -EXP_BALANCE: 0x100A, + OVAL_CHARM: 0x1008, + EXP_SHARE: 0x1009, + EXP_BALANCE: 0x100a, -CANDY_JAR: 0x100B, -BERRY_POUCH: 0x100C, + CANDY_JAR: 0x100b, + BERRY_POUCH: 0x100c, -HEALING_CHARM: 0x100D, -EXP_CHARM: 0x100E, -SUPER_EXP_CHARM: 0x100F, -GOLDEN_EXP_CHARM: 0x1010, -AMULET_COIN: 0x1011, + HEALING_CHARM: 0x100d, + EXP_CHARM: 0x100e, + SUPER_EXP_CHARM: 0x100f, + GOLDEN_EXP_CHARM: 0x1010, + AMULET_COIN: 0x1011, -ABILITY_CHARM: 0x1012, -SHINY_CHARM: 0x1013, -CATCHING_CHARM: 0x1014, + ABILITY_CHARM: 0x1012, + SHINY_CHARM: 0x1013, + CATCHING_CHARM: 0x1014, -BLACK_SLUDGE: 0x1015, -GOLDEN_BUG_NET: 0x1016, + BLACK_SLUDGE: 0x1015, + GOLDEN_BUG_NET: 0x1016, -LURE: 0x1101, -SUPER_LURE: 0x1102, -MAX_LURE: 0x1103, + LURE: 0x1101, + SUPER_LURE: 0x1102, + MAX_LURE: 0x1103, -X_ATTACK: 0x1201, -X_DEFENSE: 0x1202, -X_SP_ATK: 0x1203, -X_SP_DEF: 0x1204, -X_SPEED: 0x1205, -X_ACCURACY: 0x1206, -DIRE_HIT: 0x1207, + X_ATTACK: 0x1201, + X_DEFENSE: 0x1202, + X_SP_ATK: 0x1203, + X_SP_DEF: 0x1204, + X_SPEED: 0x1205, + X_ACCURACY: 0x1206, + DIRE_HIT: 0x1207, -ENEMY_DAMAGE_BOOSTER: 0x1301, -ENEMY_DAMAGE_REDUCTION: 0x1302, -ENEMY_HEAL: 0x1303, -ENEMY_ATTACK_POISON_CHANCE: 0x1304, -ENEMY_ATTACK_PARALYZE_CHANCE: 0x1305, -ENEMY_ATTACK_BURN_CHANCE: 0x1306, -ENEMY_STATUS_EFFECT_HEAL_CHANCE: 0x1307, -ENEMY_ENDURE_CHANCE: 0x1308, -ENEMY_FUSED_CHANCE: 0x1309, + ENEMY_DAMAGE_BOOSTER: 0x1301, + ENEMY_DAMAGE_REDUCTION: 0x1302, + ENEMY_HEAL: 0x1303, + ENEMY_ATTACK_POISON_CHANCE: 0x1304, + ENEMY_ATTACK_PARALYZE_CHANCE: 0x1305, + ENEMY_ATTACK_BURN_CHANCE: 0x1306, + ENEMY_STATUS_EFFECT_HEAL_CHANCE: 0x1307, + ENEMY_ENDURE_CHANCE: 0x1308, + ENEMY_FUSED_CHANCE: 0x1309, } as const; export type TrainerItemId = (typeof TrainerItemId)[keyof typeof TrainerItemId]; type TrainerItemName = keyof typeof TrainerItemId; -type TrainerItemValue = typeof TrainerItemId[TrainerItemName]; +type TrainerItemValue = (typeof TrainerItemId)[TrainerItemName]; // Use a type-safe reducer to force number keys and values export const TrainerItemNames: Record = Object.entries(TrainerItemId).reduce( @@ -64,5 +64,5 @@ export const TrainerItemNames: Record = Objec acc[value as TrainerItemValue] = key as TrainerItemName; return acc; }, - {} as Record -); \ No newline at end of file + {} as Record, +); diff --git a/src/field/pokemon.ts b/src/field/pokemon.ts index 8ae763ab196..36b1d06e2b9 100644 --- a/src/field/pokemon.ts +++ b/src/field/pokemon.ts @@ -1377,7 +1377,7 @@ export abstract class Pokemon extends Phaser.GameObjects.Container { getCritStage(source: Pokemon, move: Move): number { const critStage = new NumberHolder(0); applyMoveAttrs("HighCritAttr", source, this, move, critStage); - applyHeldItems(HeldItemEffect.CRIT_BOOST, { pokemon: source, critStage: critStage }); + applyHeldItems(HeldItemEffect.CRIT_BOOST, { pokemon: source, critStage }); globalScene.applyPlayerItems(TrainerItemEffect.TEMP_CRIT_BOOSTER, { numberHolder: critStage }); applyAbAttrs("BonusCritAbAttr", { pokemon: source, critStage }); const critBoostTag = source.getTag(CritBoostTag); @@ -1433,7 +1433,7 @@ export abstract class Pokemon extends Phaser.GameObjects.Container { ): number { const statVal = new NumberHolder(this.getStat(stat, false)); if (!ignoreHeldItems) { - applyHeldItems(HeldItemEffect.STAT_BOOST, { pokemon: this, stat: stat, statHolder: statVal }); + applyHeldItems(HeldItemEffect.STAT_BOOST, { pokemon: this, stat, statHolder: statVal }); } // The Ruin abilities here are never ignored, but they reveal themselves on summon anyway @@ -1543,7 +1543,7 @@ export abstract class Pokemon extends Phaser.GameObjects.Container { const statHolder = new NumberHolder(Math.floor((2 * baseStats[s] + this.ivs[s]) * this.level * 0.01)); if (s === Stat.HP) { statHolder.value = statHolder.value + this.level + 10; - applyHeldItems(HeldItemEffect.MACHO_BRACE, { pokemon: this, stat: s, statHolder: statHolder }); + applyHeldItems(HeldItemEffect.MACHO_BRACE, { pokemon: this, stat: s, statHolder }); if (this.hasAbility(AbilityId.WONDER_GUARD, false, true)) { statHolder.value = 1; } @@ -1565,7 +1565,7 @@ export abstract class Pokemon extends Phaser.GameObjects.Container { 1, ); } - applyHeldItems(HeldItemEffect.MACHO_BRACE, { pokemon: this, stat: s, statHolder: statHolder }); + applyHeldItems(HeldItemEffect.MACHO_BRACE, { pokemon: this, stat: s, statHolder }); } statHolder.value = Phaser.Math.Clamp(statHolder.value, 1, Number.MAX_SAFE_INTEGER); @@ -1578,7 +1578,7 @@ export abstract class Pokemon extends Phaser.GameObjects.Container { const baseStats = this.getSpeciesForm(true).baseStats.slice(0); applyChallenges(ChallengeType.FLIP_STAT, this, baseStats); // Items that add to the stats - applyHeldItems(HeldItemEffect.BASE_STAT_ADD, { pokemon: this, baseStats: baseStats }); + applyHeldItems(HeldItemEffect.BASE_STAT_ADD, { pokemon: this, baseStats }); if (this.isFusion()) { const fusionBaseStats = this.getFusionSpeciesForm(true).baseStats; applyChallenges(ChallengeType.FLIP_STAT, this, fusionBaseStats); @@ -1592,7 +1592,7 @@ export abstract class Pokemon extends Phaser.GameObjects.Container { } } // Vitamins - applyHeldItems(HeldItemEffect.BASE_STAT_MULTIPLY, { pokemon: this, baseStats: baseStats }); + applyHeldItems(HeldItemEffect.BASE_STAT_MULTIPLY, { pokemon: this, baseStats }); return baseStats; } @@ -4104,7 +4104,7 @@ export abstract class Pokemon extends Phaser.GameObjects.Container { surviveDamage.value = this.lapseTag(BattlerTagType.ENDURE_TOKEN); } if (!surviveDamage.value) { - applyHeldItems(HeldItemEffect.SURVIVE_CHANCE, { pokemon: this, surviveDamage: surviveDamage }); + applyHeldItems(HeldItemEffect.SURVIVE_CHANCE, { pokemon: this, surviveDamage }); } if (surviveDamage.value) { damage = this.hp - 1; diff --git a/src/items/held-item-manager.ts b/src/items/held-item-manager.ts index 1b191e4505d..8a6c0b222ea 100644 --- a/src/items/held-item-manager.ts +++ b/src/items/held-item-manager.ts @@ -32,7 +32,7 @@ export class HeldItemManager { }; return itemSpecs; } - return undefined; + return; } generateHeldItemConfiguration(restrictedIds?: HeldItemId[]): HeldItemConfiguration { diff --git a/src/items/held-item-pool.ts b/src/items/held-item-pool.ts index 626b1ee0e4c..6eaf48a23cb 100644 --- a/src/items/held-item-pool.ts +++ b/src/items/held-item-pool.ts @@ -133,7 +133,7 @@ function determineItemPoolTier(pool: HeldItemTieredPool, upgradeCount?: number): } tier += upgradeCount; - while (tier && !pool[tier]?.length) { + while (tier && pool[tier]?.length === 0) { tier--; if (upgradeCount) { upgradeCount--; @@ -168,8 +168,8 @@ export function getNewBerryHeldItem(customWeights: HeldItemWeights = {}, target? const weights = items.map(t => target?.heldItemManager.isMaxStack(t) ? 0 - : (customWeights[t] ?? - (t === HeldItemId.SITRUS_BERRY || t === HeldItemId.LUM_BERRY || t === HeldItemId.LEPPA_BERRY)) + : (customWeights[t] + ?? (t === HeldItemId.SITRUS_BERRY || t === HeldItemId.LUM_BERRY || t === HeldItemId.LEPPA_BERRY)) ? 2 : 1, ); @@ -192,7 +192,7 @@ export function getNewAttackTypeBoosterHeldItem( .filter(m => m.getMove().is("AttackMove")) .map(m => p.getMoveType(m.getMove(), true)), ); - if (!attackMoveTypes.length) { + if (attackMoveTypes.length === 0) { return null; } diff --git a/src/items/held-item.ts b/src/items/held-item.ts index 5af66a180c1..d3a269f9016 100644 --- a/src/items/held-item.ts +++ b/src/items/held-item.ts @@ -168,7 +168,7 @@ export abstract class ConsumableHeldItem extends HeldItem globalScene.updateItems(pokemon.isPlayer()); } if (unburden) { - applyAbAttrs("PostItemLostAbAttr", { pokemon: pokemon }); + applyAbAttrs("PostItemLostAbAttr", { pokemon }); } } } diff --git a/src/items/held-items/berry.ts b/src/items/held-items/berry.ts index 10c2daf1344..c49e4e2882d 100644 --- a/src/items/held-items/berry.ts +++ b/src/items/held-items/berry.ts @@ -73,7 +73,7 @@ export class BerryHeldItem extends ConsumableHeldItem<[typeof HeldItemEffect.BER // } const preserve = new BooleanHolder(false); - globalScene.applyPlayerItems(TrainerItemEffect.PRESERVE_BERRY, { pokemon: pokemon, doPreserve: preserve }); + globalScene.applyPlayerItems(TrainerItemEffect.PRESERVE_BERRY, { pokemon, doPreserve: preserve }); const consumed = !preserve.value; // munch the berry and trigger unburden-like effects diff --git a/src/items/held-items/crit-booster.ts b/src/items/held-items/crit-booster.ts index 01881f6f3d4..aa0760a1609 100644 --- a/src/items/held-items/crit-booster.ts +++ b/src/items/held-items/crit-booster.ts @@ -68,8 +68,8 @@ export class SpeciesCritBoostHeldItem extends CritBoostHeldItem { apply(effect: typeof HeldItemEffect.CRIT_BOOST, params: CritBoostParams): boolean { const pokemon = params.pokemon; const fitsSpecies = - this.species.includes(pokemon.getSpeciesForm(true).speciesId) || - (pokemon.isFusion() && this.species.includes(pokemon.getFusionSpeciesForm(true).speciesId)); + this.species.includes(pokemon.getSpeciesForm(true).speciesId) + || (pokemon.isFusion() && this.species.includes(pokemon.getFusionSpeciesForm(true).speciesId)); if (fitsSpecies) { return super.apply(effect, params); diff --git a/src/items/held-items/evo-tracker.ts b/src/items/held-items/evo-tracker.ts index 39e23fa34f0..17c531b465c 100644 --- a/src/items/held-items/evo-tracker.ts +++ b/src/items/held-items/evo-tracker.ts @@ -45,10 +45,10 @@ export class GimmighoulEvoTrackerHeldItem extends EvoTrackerHeldItem { getStackCount(pokemon: Pokemon): number { const stackCount = - pokemon.heldItemManager.getStack(this.type) + - pokemon.heldItemManager.getStack(HeldItemId.GOLDEN_PUNCH) + - globalScene.trainerItems.getStack(TrainerItemId.AMULET_COIN) + - globalScene.trainerItems.getStack(TrainerItemId.GOLDEN_POKEBALL); + pokemon.heldItemManager.getStack(this.type) + + pokemon.heldItemManager.getStack(HeldItemId.GOLDEN_PUNCH) + + globalScene.trainerItems.getStack(TrainerItemId.AMULET_COIN) + + globalScene.trainerItems.getStack(TrainerItemId.GOLDEN_POKEBALL); return stackCount; } } diff --git a/src/items/held-items/item-steal.ts b/src/items/held-items/item-steal.ts index fd0d74f40cd..acbdb8915a0 100644 --- a/src/items/held-items/item-steal.ts +++ b/src/items/held-items/item-steal.ts @@ -28,7 +28,7 @@ export abstract class ItemTransferHeldItem extends HeldIt applySteal(params: ItemStealParams): boolean { const opponents = this.getTargets(params); - if (!opponents.length) { + if (opponents.length === 0) { return false; } @@ -46,7 +46,7 @@ export abstract class ItemTransferHeldItem extends HeldIt const heldItems = targetPokemon.heldItemManager.getTransferableHeldItems(); for (let i = 0; i < transferredItemCount; i++) { - if (!heldItems.length) { + if (heldItems.length === 0) { break; } const randItemIndex = pokemon.randBattleSeedInt(heldItems.length); @@ -62,7 +62,7 @@ export abstract class ItemTransferHeldItem extends HeldIt globalScene.phaseManager.queueMessage(this.getTransferMessage(params, mt)); } - return !!transferredRewards.length; + return transferredRewards.length > 0; } abstract getTargets(params: ItemStealParams): Pokemon[]; diff --git a/src/items/held-items/stat-boost.ts b/src/items/held-items/stat-boost.ts index ba63ebcf99b..9b7f2bc1524 100644 --- a/src/items/held-items/stat-boost.ts +++ b/src/items/held-items/stat-boost.ts @@ -141,8 +141,8 @@ export class SpeciesStatBoostHeldItem extends StatBoostHeldItem { apply(effect: typeof HeldItemEffect.STAT_BOOST, params: StatBoostParams): boolean { const pokemon = params.pokemon; const fitsSpecies = - this.species.includes(pokemon.getSpeciesForm(true).speciesId) || - (pokemon.isFusion() && this.species.includes(pokemon.getFusionSpeciesForm(true).speciesId)); + this.species.includes(pokemon.getSpeciesForm(true).speciesId) + || (pokemon.isFusion() && this.species.includes(pokemon.getFusionSpeciesForm(true).speciesId)); if (fitsSpecies) { return super.apply(effect, params); diff --git a/src/items/init-reward-pools.ts b/src/items/init-reward-pools.ts index bc4dd280aa2..57b23ab22e9 100644 --- a/src/items/init-reward-pools.ts +++ b/src/items/init-reward-pools.ts @@ -54,12 +54,12 @@ function initCommonRewardPool() { const thresholdPartyMemberCount = Math.min( party.filter( p => - p.hp && - !p.heldItemManager.hasItem(HeldItemId.LEPPA_BERRY) && - p + p.hp + && !p.heldItemManager.hasItem(HeldItemId.LEPPA_BERRY) + && p .getMoveset() .filter(m => m.ppUsed && m.getMovePp() - m.ppUsed <= 5 && m.ppUsed > Math.floor(m.getMovePp() / 2)) - .length, + .length > 0, ).length, 3, ); @@ -73,12 +73,12 @@ function initCommonRewardPool() { const thresholdPartyMemberCount = Math.min( party.filter( p => - p.hp && - !p.heldItemManager.hasItem(HeldItemId.LEPPA_BERRY) && - p + p.hp + && !p.heldItemManager.hasItem(HeldItemId.LEPPA_BERRY) + && p .getMoveset() .filter(m => m.ppUsed && m.getMovePp() - m.ppUsed <= 5 && m.ppUsed > Math.floor(m.getMovePp() / 2)) - .length, + .length > 0, ).length, 3, ); @@ -106,9 +106,9 @@ function initGreatRewardPool() { const statusEffectPartyMemberCount = Math.min( party.filter( p => - p.hp && - !!p.status && - !p + p.hp + && !!p.status + && !p .getHeldItems() .filter(i => i in [HeldItemId.TOXIC_ORB, HeldItemId.FLAME_ORB]) .some(i => (allHeldItems[i] as TurnEndStatusHeldItem).effect === p.status?.effect), @@ -170,9 +170,9 @@ function initGreatRewardPool() { const statusEffectPartyMemberCount = Math.min( party.filter( p => - p.hp && - !!p.status && - !p + p.hp + && !!p.status + && !p .getHeldItems() .filter(i => i in [HeldItemId.TOXIC_ORB, HeldItemId.FLAME_ORB]) .some(i => (allHeldItems[i] as TurnEndStatusHeldItem).effect === p.status?.effect), @@ -180,9 +180,9 @@ function initGreatRewardPool() { 3, ); const thresholdPartyMemberCount = Math.floor( - (Math.min(party.filter(p => p.getInverseHp() >= 100 && p.getHpRatio() <= 0.5 && !p.isFainted()).length, 3) + - statusEffectPartyMemberCount) / - 2, + (Math.min(party.filter(p => p.getInverseHp() >= 100 && p.getHpRatio() <= 0.5 && !p.isFainted()).length, 3) + + statusEffectPartyMemberCount) + / 2, ); return thresholdPartyMemberCount; }, @@ -194,12 +194,12 @@ function initGreatRewardPool() { const thresholdPartyMemberCount = Math.min( party.filter( p => - p.hp && - !p.heldItemManager.hasItem(HeldItemId.LEPPA_BERRY) && - p + p.hp + && !p.heldItemManager.hasItem(HeldItemId.LEPPA_BERRY) + && p .getMoveset() .filter(m => m.ppUsed && m.getMovePp() - m.ppUsed <= 5 && m.ppUsed > Math.floor(m.getMovePp() / 2)) - .length, + .length > 0, ).length, 3, ); @@ -213,12 +213,12 @@ function initGreatRewardPool() { const thresholdPartyMemberCount = Math.min( party.filter( p => - p.hp && - !p.heldItemManager.hasItem(HeldItemId.LEPPA_BERRY) && - p + p.hp + && !p.heldItemManager.hasItem(HeldItemId.LEPPA_BERRY) + && p .getMoveset() .filter(m => m.ppUsed && m.getMovePp() - m.ppUsed <= 5 && m.ppUsed > Math.floor(m.getMovePp() / 2)) - .length, + .length > 0, ).length, 3, ); @@ -321,9 +321,9 @@ function initUltraRewardPool() { return party.some(p => { // Check if Pokemon's species (or fusion species, if applicable) can evolve or if they're G-Max'd if ( - !p.isMax() && - (p.getSpeciesForm(true).speciesId in pokemonEvolutions || - (p.isFusion() && p.getFusionSpeciesForm(true).speciesId in pokemonEvolutions)) + !p.isMax() + && (p.getSpeciesForm(true).speciesId in pokemonEvolutions + || (p.isFusion() && p.getFusionSpeciesForm(true).speciesId in pokemonEvolutions)) ) { // Check if Pokemon is already holding an Eviolite return !p.heldItemManager.hasItem(HeldItemId.EVIOLITE); @@ -344,9 +344,9 @@ function initUltraRewardPool() { // If a party member doesn't already have a Leek and is one of the relevant species, Leek can appear return party.some( p => - !p.heldItemManager.hasItem(HeldItemId.LEEK) && - (checkedSpecies.includes(p.getSpeciesForm(true).speciesId) || - (p.isFusion() && checkedSpecies.includes(p.getFusionSpeciesForm(true).speciesId))), + !p.heldItemManager.hasItem(HeldItemId.LEEK) + && (checkedSpecies.includes(p.getSpeciesForm(true).speciesId) + || (p.isFusion() && checkedSpecies.includes(p.getFusionSpeciesForm(true).speciesId))), ) ? 12 : 0; @@ -575,9 +575,9 @@ function initMasterRewardPool() { { id: RewardId.DNA_SPLICERS, weight: (party: Pokemon[]) => - !(globalScene.gameMode.isClassic && timedEventManager.areFusionsBoosted()) && - !globalScene.gameMode.isSplicedOnly && - party.filter(p => !p.fusionSpecies).length > 1 + !(globalScene.gameMode.isClassic && timedEventManager.areFusionsBoosted()) + && !globalScene.gameMode.isSplicedOnly + && party.filter(p => !p.fusionSpecies).length > 1 ? 24 : 0, maxWeight: 24, @@ -585,8 +585,9 @@ function initMasterRewardPool() { { id: HeldItemId.MINI_BLACK_HOLE, weight: () => - globalScene.gameMode.isDaily || - (!globalScene.gameMode.isFreshStartChallenge() && globalScene.gameData.isUnlocked(Unlockables.MINI_BLACK_HOLE)) + globalScene.gameMode.isDaily + || (!globalScene.gameMode.isFreshStartChallenge() + && globalScene.gameData.isUnlocked(Unlockables.MINI_BLACK_HOLE)) ? 1 : 0, maxWeight: 1, @@ -642,8 +643,8 @@ function skipInLastClassicWaveOrDefault(defaultWeight: number): WeightedRewardWe function lureWeightFunc(lureId: TrainerItemId, weight: number): WeightedRewardWeightFunc { return () => { const lureCount = globalScene.trainerItems.getStack(lureId); - return !(globalScene.gameMode.isClassic && globalScene.currentBattle.waveIndex === 199) && - lureCount < allTrainerItems[lureId].getMaxStackCount() * 0.6 + return !(globalScene.gameMode.isClassic && globalScene.currentBattle.waveIndex === 199) + && lureCount < allTrainerItems[lureId].getMaxStackCount() * 0.6 ? weight : 0; }; diff --git a/src/items/modifier-to-item-migrator-utils.ts b/src/items/modifier-to-item-migrator-utils.ts index d19fb52cfc6..3684bf77663 100644 --- a/src/items/modifier-to-item-migrator-utils.ts +++ b/src/items/modifier-to-item-migrator-utils.ts @@ -144,8 +144,8 @@ export function convertModifierSaveData(data: ModifierData[]) { } if (itemId) { - const specs = { id: itemId, stack: stack }; - const pokemonItem = { item: specs, pokemonId: pokemonId }; + const specs = { id: itemId, stack }; + const pokemonItem = { item: specs, pokemonId }; pokemonItems.push(pokemonItem); } } diff --git a/src/items/reward-pool-utils.ts b/src/items/reward-pool-utils.ts index aeb4ce3017a..d759fd0e6bf 100644 --- a/src/items/reward-pool-utils.ts +++ b/src/items/reward-pool-utils.ts @@ -64,10 +64,8 @@ export interface CustomRewardSettings { export function generateRewardPoolWeights(pool: RewardPool, party: Pokemon[], rerollCount = 0) { for (const tier of Object.keys(pool)) { const poolWeights = pool[tier].map(w => { - if (isTrainerItemId(w.id)) { - if (globalScene.trainerItems.isMaxStack(w.id)) { - return 0; - } + if (isTrainerItemId(w.id) && globalScene.trainerItems.isMaxStack(w.id)) { + return 0; } if (typeof w.weight === "number") { return w.weight; @@ -118,7 +116,7 @@ function getRarityUpgradeCount(pool: RewardPool, baseTier: RarityTier, party: Po if (baseTier < RarityTier.MASTER) { const partyLuckValue = getPartyLuckValue(party); const upgradeOdds = Math.floor(128 / ((partyLuckValue + 4) / 4)); - while (pool.hasOwnProperty(baseTier + upgradeCount + 1) && pool[baseTier + upgradeCount + 1].length) { + while (pool.hasOwnProperty(baseTier + upgradeCount + 1) && pool[baseTier + upgradeCount + 1].length > 0) { if (randSeedInt(upgradeOdds) < 4) { upgradeCount++; } else { @@ -212,10 +210,10 @@ function getRewardOptionWithRetry( let candidate = getNewRewardOption(pool, weights, party, tier, undefined, 0, allowLuckUpgrades); let r = 0; while ( - existingOptions.length && - ++r < retryCount && - //TODO: Improve this condition to refine what counts as a dupe - existingOptions.filter(o => o.type.name === candidate?.type.name || o.type.group === candidate?.type.group).length + existingOptions.length > 0 + && ++r < retryCount //TODO: Improve this condition to refine what counts as a dupe + && existingOptions.filter(o => o.type.name === candidate?.type.name || o.type.group === candidate?.type.group) + .length > 0 ) { console.log("Retry count:", r); console.log(candidate?.type.group); diff --git a/src/items/rewards/evolution-item.ts b/src/items/rewards/evolution-item.ts index 805a88875fb..d5b83fa6f4b 100644 --- a/src/items/rewards/evolution-item.ts +++ b/src/items/rewards/evolution-item.ts @@ -14,20 +14,20 @@ export class EvolutionItemReward extends PokemonReward { constructor(evolutionItem: EvolutionItem) { super("", EvolutionItem[evolutionItem].toLowerCase(), (pokemon: PlayerPokemon) => { if ( - pokemonEvolutions.hasOwnProperty(pokemon.species.speciesId) && - pokemonEvolutions[pokemon.species.speciesId].filter(e => e.validate(pokemon, false, this.evolutionItem)) - .length && - pokemon.getFormKey() !== SpeciesFormKey.GIGANTAMAX + pokemonEvolutions.hasOwnProperty(pokemon.species.speciesId) + && pokemonEvolutions[pokemon.species.speciesId].filter(e => e.validate(pokemon, false, this.evolutionItem)) + .length > 0 + && pokemon.getFormKey() !== SpeciesFormKey.GIGANTAMAX ) { return null; } if ( - pokemon.isFusion() && - pokemon.fusionSpecies && - pokemonEvolutions.hasOwnProperty(pokemon.fusionSpecies.speciesId) && - pokemonEvolutions[pokemon.fusionSpecies.speciesId].filter(e => e.validate(pokemon, true, this.evolutionItem)) - .length && - pokemon.getFusionFormKey() !== SpeciesFormKey.GIGANTAMAX + pokemon.isFusion() + && pokemon.fusionSpecies + && pokemonEvolutions.hasOwnProperty(pokemon.fusionSpecies.speciesId) + && pokemonEvolutions[pokemon.fusionSpecies.speciesId].filter(e => e.validate(pokemon, true, this.evolutionItem)) + .length > 0 + && pokemon.getFusionFormKey() !== SpeciesFormKey.GIGANTAMAX ) { return null; } @@ -94,12 +94,12 @@ export class EvolutionItemRewardGenerator extends RewardGenerator { party .filter( p => - pokemonEvolutions.hasOwnProperty(p.species.speciesId) && - (!p.pauseEvolutions || - p.species.speciesId === SpeciesId.SLOWPOKE || - p.species.speciesId === SpeciesId.EEVEE || - p.species.speciesId === SpeciesId.KIRLIA || - p.species.speciesId === SpeciesId.SNORUNT), + pokemonEvolutions.hasOwnProperty(p.species.speciesId) + && (!p.pauseEvolutions + || p.species.speciesId === SpeciesId.SLOWPOKE + || p.species.speciesId === SpeciesId.EEVEE + || p.species.speciesId === SpeciesId.KIRLIA + || p.species.speciesId === SpeciesId.SNORUNT), ) .flatMap(p => { const evolutions = pokemonEvolutions[p.species.speciesId]; @@ -108,14 +108,14 @@ export class EvolutionItemRewardGenerator extends RewardGenerator { party .filter( p => - p.isFusion() && - p.fusionSpecies && - pokemonEvolutions.hasOwnProperty(p.fusionSpecies.speciesId) && - (!p.pauseEvolutions || - p.fusionSpecies.speciesId === SpeciesId.SLOWPOKE || - p.fusionSpecies.speciesId === SpeciesId.EEVEE || - p.fusionSpecies.speciesId === SpeciesId.KIRLIA || - p.fusionSpecies.speciesId === SpeciesId.SNORUNT), + p.isFusion() + && p.fusionSpecies + && pokemonEvolutions.hasOwnProperty(p.fusionSpecies.speciesId) + && (!p.pauseEvolutions + || p.fusionSpecies.speciesId === SpeciesId.SLOWPOKE + || p.fusionSpecies.speciesId === SpeciesId.EEVEE + || p.fusionSpecies.speciesId === SpeciesId.KIRLIA + || p.fusionSpecies.speciesId === SpeciesId.SNORUNT), ) .flatMap(p => { const evolutions = pokemonEvolutions[p.fusionSpecies!.speciesId]; @@ -126,7 +126,7 @@ export class EvolutionItemRewardGenerator extends RewardGenerator { .flatMap(e => e.evoItem) .filter(i => !!i && i > 50 === this.rare); - if (!evolutionItemPool.length) { + if (evolutionItemPool.length === 0) { return null; } diff --git a/src/items/rewards/form-change.ts b/src/items/rewards/form-change.ts index bee56e9ecee..f39d4970156 100644 --- a/src/items/rewards/form-change.ts +++ b/src/items/rewards/form-change.ts @@ -22,9 +22,8 @@ export class FormChangeItemReward extends PokemonReward { super("", allHeldItems[formChangeItem].iconName, (pokemon: PlayerPokemon) => { // Make sure the Pokemon has alternate forms if ( - pokemonFormChanges.hasOwnProperty(pokemon.species.speciesId) && - // Get all form changes for this species with an item trigger, including any compound triggers - pokemonFormChanges[pokemon.species.speciesId] + pokemonFormChanges.hasOwnProperty(pokemon.species.speciesId) // Get all form changes for this species with an item trigger, including any compound triggers + && pokemonFormChanges[pokemon.species.speciesId] .filter( fc => fc.trigger.hasTriggerType(SpeciesFormChangeItemTrigger) && fc.preFormKey === pokemon.getFormKey(), ) @@ -92,25 +91,24 @@ export class FormChangeItemRewardGenerator extends RewardGenerator { let formChangeItemTriggers = formChanges .filter( fc => - ((fc.formKey.indexOf(SpeciesFormKey.MEGA) === -1 && - fc.formKey.indexOf(SpeciesFormKey.PRIMAL) === -1) || - globalScene.trainerItems.hasItem(TrainerItemId.MEGA_BRACELET)) && - ((fc.formKey.indexOf(SpeciesFormKey.GIGANTAMAX) === -1 && - fc.formKey.indexOf(SpeciesFormKey.ETERNAMAX) === -1) || - globalScene.trainerItems.hasItem(TrainerItemId.DYNAMAX_BAND)) && - (!fc.conditions.length || - fc.conditions.filter(cond => cond instanceof SpeciesFormChangeCondition && cond.predicate(p)) - .length) && - fc.preFormKey === p.getFormKey(), + ((fc.formKey.indexOf(SpeciesFormKey.MEGA) === -1 && fc.formKey.indexOf(SpeciesFormKey.PRIMAL) === -1) + || globalScene.trainerItems.hasItem(TrainerItemId.MEGA_BRACELET)) + && ((fc.formKey.indexOf(SpeciesFormKey.GIGANTAMAX) === -1 + && fc.formKey.indexOf(SpeciesFormKey.ETERNAMAX) === -1) + || globalScene.trainerItems.hasItem(TrainerItemId.DYNAMAX_BAND)) + && (fc.conditions.length === 0 + || fc.conditions.filter(cond => cond instanceof SpeciesFormChangeCondition && cond.predicate(p)) + .length > 0) + && fc.preFormKey === p.getFormKey(), ) .map(fc => fc.findTrigger(SpeciesFormChangeItemTrigger) as SpeciesFormChangeItemTrigger) .filter(t => t?.active && !p.heldItemManager.hasItem(t.item)); if (p.species.speciesId === SpeciesId.NECROZMA) { // technically we could use a simplified version and check for formChanges.length > 3, but in case any code changes later, this might break... - let foundULTRA_Z = false, - foundN_LUNA = false, - foundN_SOLAR = false; + let foundULTRA_Z = false; + let foundN_LUNA = false; + let foundN_SOLAR = false; formChangeItemTriggers.forEach((fc, _i) => { console.log("Checking ", fc.item); switch (fc.item) { @@ -143,7 +141,7 @@ export class FormChangeItemRewardGenerator extends RewardGenerator { .filter(i => (i && i < 100) === this.isRareFormChangeItem); // convert it into a set to remove duplicate values, which can appear when the same species with a potential form change is in the party. - if (!formChangeItemPool.length) { + if (formChangeItemPool.length === 0) { return null; } diff --git a/src/items/rewards/pp-restore.ts b/src/items/rewards/pp-restore.ts index a92eaabeaf3..4492b34c3c2 100644 --- a/src/items/rewards/pp-restore.ts +++ b/src/items/rewards/pp-restore.ts @@ -65,7 +65,7 @@ export class PokemonAllMovePpRestoreReward extends PokemonReward { localeKey, iconImage, (pokemon: PlayerPokemon) => { - if (!pokemon.getMoveset().filter(m => m.ppUsed).length) { + if (pokemon.getMoveset().filter(m => m.ppUsed).length === 0) { return PartyUiHandler.NoEffectMessage; } return null; diff --git a/src/items/rewards/remember-move.ts b/src/items/rewards/remember-move.ts index 28be3d69206..d8962f2a115 100644 --- a/src/items/rewards/remember-move.ts +++ b/src/items/rewards/remember-move.ts @@ -11,7 +11,7 @@ export class RememberMoveReward extends PokemonReward { localeKey, iconImage, (pokemon: PlayerPokemon) => { - if (!pokemon.getLearnableLevelMoves().length) { + if (pokemon.getLearnableLevelMoves().length === 0) { return PartyUiHandler.NoEffectMessage; } return null; diff --git a/src/items/rewards/restore.ts b/src/items/rewards/restore.ts index fbc59e2aade..0ce049069d9 100644 --- a/src/items/rewards/restore.ts +++ b/src/items/rewards/restore.ts @@ -69,11 +69,12 @@ export class PokemonHpRestoreReward extends PokemonReward { super( localeKey, iconImage, - selectFilter || - ((pokemon: PlayerPokemon) => { + selectFilter + || ((pokemon: PlayerPokemon) => { if ( - !pokemon.hp || - (pokemon.isFullHp() && (!this.healStatus || (!pokemon.status && !pokemon.getTag(BattlerTagType.CONFUSED)))) + !pokemon.hp + || (pokemon.isFullHp() + && (!this.healStatus || (!pokemon.status && !pokemon.getTag(BattlerTagType.CONFUSED)))) ) { return PartyUiHandler.NoEffectMessage; } diff --git a/src/items/rewards/tera-type.ts b/src/items/rewards/tera-type.ts index b105c21d09f..064dcbd63a9 100644 --- a/src/items/rewards/tera-type.ts +++ b/src/items/rewards/tera-type.ts @@ -52,8 +52,8 @@ export class ChangeTeraTypeReward extends PokemonReward { */ shouldApply({ pokemon }: PokemonRewardParams): boolean { return ( - pokemon.teraType !== this.teraType && - ![SpeciesId.SHEDINJA, SpeciesId.OGERPON, SpeciesId.TERAPAGOS].some(s => pokemon.hasSpecies(s)) + pokemon.teraType !== this.teraType + && ![SpeciesId.SHEDINJA, SpeciesId.OGERPON, SpeciesId.TERAPAGOS].some(s => pokemon.hasSpecies(s)) ); } @@ -86,9 +86,9 @@ export class TeraTypeRewardGenerator extends RewardGenerator { const excludedType = globalScene.getPlayerParty().reduce((prevType, p) => { if ( // Ignore Pokemon with fixed Tera Types - p.hasSpecies(SpeciesId.TERAPAGOS) || - p.hasSpecies(SpeciesId.OGERPON) || - p.hasSpecies(SpeciesId.SHEDINJA) + p.hasSpecies(SpeciesId.TERAPAGOS) + || p.hasSpecies(SpeciesId.OGERPON) + || p.hasSpecies(SpeciesId.SHEDINJA) ) { return prevType; } diff --git a/src/items/rewards/tm.ts b/src/items/rewards/tm.ts index b7fc45b5136..e76a02c10d9 100644 --- a/src/items/rewards/tm.ts +++ b/src/items/rewards/tm.ts @@ -20,8 +20,8 @@ export class TmReward extends PokemonReward { `tm_${PokemonType[allMoves[moveId].type].toLowerCase()}`, (pokemon: PlayerPokemon) => { if ( - pokemon.compatibleTms.indexOf(moveId) === -1 || - pokemon.getMoveset().filter(m => m.moveId === moveId).length + pokemon.compatibleTms.indexOf(moveId) === -1 + || pokemon.getMoveset().filter(m => m.moveId === moveId).length > 0 ) { return PartyUiHandler.NoEffectMessage; } @@ -90,7 +90,7 @@ export class TmRewardGenerator extends RewardGenerator { .filter(tm => tmPoolTiers[tm] === this.tier) .filter(tm => !allMoves[tm].name.endsWith(" (N)")) .filter((tm, i, array) => array.indexOf(tm) === i); - if (!tierUniqueCompatibleTms.length) { + if (tierUniqueCompatibleTms.length === 0) { return null; } diff --git a/src/items/trainer-item-manager.ts b/src/items/trainer-item-manager.ts index 895f80a6b25..b04f626a6d1 100644 --- a/src/items/trainer-item-manager.ts +++ b/src/items/trainer-item-manager.ts @@ -25,7 +25,7 @@ export class TrainerItemManager { }; return itemSpecs; } - return undefined; + return; } generateTrainerItemConfiguration(restrictedIds?: TrainerItemId[]): TrainerItemConfiguration { diff --git a/src/items/trainer-item-pool.ts b/src/items/trainer-item-pool.ts index e75f1cec8e1..2d15f8a63a0 100644 --- a/src/items/trainer-item-pool.ts +++ b/src/items/trainer-item-pool.ts @@ -51,9 +51,9 @@ export function assignEnemyBuffTokenForWave(tier: RarityTier) { let candidate = getNewTrainerItemFromPool(enemyBuffTokenPool[tier], globalScene.enemyTrainerItems); let r = 0; while ( - ++r < retryCount && - allTrainerItems[candidate].getMaxStackCount() < - globalScene.enemyTrainerItems.getStack(candidate) + (r < 10 ? tierStackCount : 1) + ++r < retryCount + && allTrainerItems[candidate].getMaxStackCount() + < globalScene.enemyTrainerItems.getStack(candidate) + (r < 10 ? tierStackCount : 1) ) { candidate = getNewTrainerItemFromPool(enemyBuffTokenPool[tier], globalScene.enemyTrainerItems); } diff --git a/src/phases/berry-phase.ts b/src/phases/berry-phase.ts index 62f3ae40594..9ff07391c2d 100644 --- a/src/phases/berry-phase.ts +++ b/src/phases/berry-phase.ts @@ -36,8 +36,8 @@ export class BerryPhase extends FieldPhase { eatBerries(pokemon: Pokemon): void { const hasUsableBerry = pokemon.getHeldItems().some(m => { return ( - isItemInCategory(m, HeldItemCategoryId.BERRY) && - (allHeldItems[m] as BerryHeldItem).shouldApply(HeldItemEffect.BERRY, { pokemon: pokemon }) + isItemInCategory(m, HeldItemCategoryId.BERRY) + && (allHeldItems[m] as BerryHeldItem).shouldApply(HeldItemEffect.BERRY, { pokemon }) ); }); @@ -64,7 +64,7 @@ export class BerryPhase extends FieldPhase { CommonAnim.USE_ITEM, ); - applyHeldItems(HeldItemEffect.BERRY, { pokemon: pokemon }); + applyHeldItems(HeldItemEffect.BERRY, { pokemon }); globalScene.updateItems(pokemon.isPlayer()); // AbilityId.CHEEK_POUCH only works once per round of nom noms diff --git a/src/phases/move-effect-phase.ts b/src/phases/move-effect-phase.ts index d593b037e4c..dad58b336bf 100644 --- a/src/phases/move-effect-phase.ts +++ b/src/phases/move-effect-phase.ts @@ -430,7 +430,7 @@ export class MoveEffectPhase extends PokemonPhase { && !this.move.hitsSubstitute(user, target) ) { const flinched = new BooleanHolder(false); - applyHeldItems(HeldItemEffect.FLINCH_CHANCE, { pokemon: user, flinched: flinched }); + applyHeldItems(HeldItemEffect.FLINCH_CHANCE, { pokemon: user, flinched }); if (flinched.value) { target.addTag(BattlerTagType.FLINCHED, undefined, this.move.id, user.id); } @@ -882,7 +882,7 @@ export class MoveEffectPhase extends PokemonPhase { }); if (user.isPlayer() && target.isEnemy()) { - applyHeldItems(HeldItemEffect.DAMAGE_MONEY_REWARD, { pokemon: user, damage: damage }); + applyHeldItems(HeldItemEffect.DAMAGE_MONEY_REWARD, { pokemon: user, damage }); } return [result, isCritical, damage]; @@ -1002,7 +1002,7 @@ export class MoveEffectPhase extends PokemonPhase { // Apply Grip Claw's chance to steal an item from the target if (this.move.is("AttackMove")) { - applyHeldItems(HeldItemEffect.CONTACT_ITEM_STEAL_CHANCE, { pokemon: user, target: target }); + applyHeldItems(HeldItemEffect.CONTACT_ITEM_STEAL_CHANCE, { pokemon: user, target }); } } } diff --git a/src/phases/mystery-encounter-phases.ts b/src/phases/mystery-encounter-phases.ts index 067d1d871b1..89e96d946a5 100644 --- a/src/phases/mystery-encounter-phases.ts +++ b/src/phases/mystery-encounter-phases.ts @@ -409,10 +409,11 @@ export class MysteryEncounterBattlePhase extends Phase { // PostSummon and ShinySparkle phases are handled by SummonPhase - if (encounterMode !== MysteryEncounterMode.TRAINER_BATTLE) { - if (globalScene.trainerItems.hasItem(TrainerItemId.IV_SCANNER)) { - enemyField.map(p => globalScene.phaseManager.pushNew("ScanIvsPhase", p.getBattlerIndex())); - } + if ( + encounterMode !== MysteryEncounterMode.TRAINER_BATTLE + && globalScene.trainerItems.hasItem(TrainerItemId.IV_SCANNER) + ) { + enemyField.map(p => globalScene.phaseManager.pushNew("ScanIvsPhase", p.getBattlerIndex())); } const availablePartyMembers = globalScene.getPlayerParty().filter(p => p.isAllowedInBattle()); diff --git a/src/phases/select-reward-phase.ts b/src/phases/select-reward-phase.ts index 0b184dd754f..0daef59af7d 100644 --- a/src/phases/select-reward-phase.ts +++ b/src/phases/select-reward-phase.ts @@ -25,8 +25,8 @@ import { FusePokemonReward } from "#items/rewards/fuse"; import { RememberMoveReward } from "#items/rewards/remember-move"; import { TmReward } from "#items/rewards/tm"; import { BattlePhase } from "#phases/battle-phase"; -import { PartyOption, PartyUiHandler, PartyUiMode, type PokemonMoveSelectFilter } from "#ui/party-ui-handler"; import { type RewardSelectUiHandler, SHOP_OPTIONS_ROW_LIMIT } from "#ui/handlers/reward-select-ui-handler"; +import { PartyOption, PartyUiHandler, PartyUiMode, type PokemonMoveSelectFilter } from "#ui/party-ui-handler"; import { isNullOrUndefined, NumberHolder } from "#utils/common"; import i18next from "i18next"; @@ -211,11 +211,11 @@ export class SelectRewardPhase extends BattlePhase { -1, (fromSlotIndex: number, itemIndex: number, itemQuantity: number, toSlotIndex: number) => { if ( - toSlotIndex !== undefined && - fromSlotIndex < 6 && - toSlotIndex < 6 && - fromSlotIndex !== toSlotIndex && - itemIndex > -1 + toSlotIndex !== undefined + && fromSlotIndex < 6 + && toSlotIndex < 6 + && fromSlotIndex !== toSlotIndex + && itemIndex > -1 ) { const items = party[fromSlotIndex].heldItemManager.getTransferableHeldItems(); const item = items[itemIndex]; @@ -262,10 +262,10 @@ export class SelectRewardPhase extends BattlePhase { -1, (fromSlotIndex: number, spliceSlotIndex: number) => { if ( - spliceSlotIndex !== undefined && - fromSlotIndex < 6 && - spliceSlotIndex < 6 && - fromSlotIndex !== spliceSlotIndex + spliceSlotIndex !== undefined + && fromSlotIndex < 6 + && spliceSlotIndex < 6 + && fromSlotIndex !== spliceSlotIndex ) { globalScene.ui.setMode(UiMode.REWARD_SELECT, this.isPlayer()).then(() => { reward.apply({ pokemon: party[fromSlotIndex], pokemon2: party[spliceSlotIndex] }); @@ -302,7 +302,7 @@ export class SelectRewardPhase extends BattlePhase { if (isRememberMoveReward(reward)) { partyUiMode = PartyUiMode.REMEMBER_MOVE_REWARD; getParams = (slotIndex: number, option: PartyOption) => { - return { pokemon: party[slotIndex], moveIndex: option, cost: cost } as PokemonMoveRecallRewardParams; + return { pokemon: party[slotIndex], moveIndex: option, cost } as PokemonMoveRecallRewardParams; }; } if (isTmReward(reward)) { @@ -374,9 +374,9 @@ export class SelectRewardPhase extends BattlePhase { // If custom rewards are specified, overrides default item count if (this.customRewardSettings) { const newItemCount = - (this.customRewardSettings.guaranteedRarityTiers?.length ?? 0) + - (this.customRewardSettings.guaranteedRewardOptions?.length ?? 0) + - (this.customRewardSettings.guaranteedRewardSpecs?.length ?? 0); + (this.customRewardSettings.guaranteedRarityTiers?.length ?? 0) + + (this.customRewardSettings.guaranteedRewardOptions?.length ?? 0) + + (this.customRewardSettings.guaranteedRewardSpecs?.length ?? 0); if (this.customRewardSettings.fillRemaining) { const originalCount = rewardCountHolder.value; rewardCountHolder.value = originalCount > newItemCount ? originalCount : newItemCount; diff --git a/src/phases/stat-stage-change-phase.ts b/src/phases/stat-stage-change-phase.ts index 0c66b573d6a..50d0fda717b 100644 --- a/src/phases/stat-stage-change-phase.ts +++ b/src/phases/stat-stage-change-phase.ts @@ -229,7 +229,7 @@ export class StatStageChangePhase extends PokemonPhase { ); if (!existingPhase?.is("StatStageChangePhase")) { // Apply White Herb if needed - applyHeldItems(HeldItemEffect.RESET_NEGATIVE_STAT_STAGE, { pokemon: pokemon }); + applyHeldItems(HeldItemEffect.RESET_NEGATIVE_STAT_STAGE, { pokemon }); } pokemon.updateInfo(); diff --git a/src/phases/trainer-victory-phase.ts b/src/phases/trainer-victory-phase.ts index 5c33a2d9a4f..980d16f11b2 100644 --- a/src/phases/trainer-victory-phase.ts +++ b/src/phases/trainer-victory-phase.ts @@ -29,26 +29,25 @@ export class TrainerVictoryPhase extends BattlePhase { const trainerType = globalScene.currentBattle.trainer?.config.trainerType!; // TODO: is this bang correct? // Validate Voucher for boss trainers - if (vouchers.hasOwnProperty(TrainerType[trainerType])) { - if ( - !globalScene.validateVoucher(vouchers[TrainerType[trainerType]]) && - globalScene.currentBattle.trainer?.config.isBoss - ) { - if (timedEventManager.getUpgradeUnlockedVouchers()) { - globalScene.phaseManager.unshiftNew( - "RewardPhase", - [RewardId.VOUCHER_PLUS, RewardId.VOUCHER_PLUS, RewardId.VOUCHER_PLUS, RewardId.VOUCHER_PREMIUM][ - vouchers[TrainerType[trainerType]].voucherType - ], - ); - } else { - globalScene.phaseManager.unshiftNew( - "RewardPhase", - [RewardId.VOUCHER, RewardId.VOUCHER, RewardId.VOUCHER_PLUS, RewardId.VOUCHER_PREMIUM][ - vouchers[TrainerType[trainerType]].voucherType - ], - ); - } + if ( + vouchers.hasOwnProperty(TrainerType[trainerType]) + && !globalScene.validateVoucher(vouchers[TrainerType[trainerType]]) + && globalScene.currentBattle.trainer?.config.isBoss + ) { + if (timedEventManager.getUpgradeUnlockedVouchers()) { + globalScene.phaseManager.unshiftNew( + "RewardPhase", + [RewardId.VOUCHER_PLUS, RewardId.VOUCHER_PLUS, RewardId.VOUCHER_PLUS, RewardId.VOUCHER_PREMIUM][ + vouchers[TrainerType[trainerType]].voucherType + ], + ); + } else { + globalScene.phaseManager.unshiftNew( + "RewardPhase", + [RewardId.VOUCHER, RewardId.VOUCHER, RewardId.VOUCHER_PLUS, RewardId.VOUCHER_PREMIUM][ + vouchers[TrainerType[trainerType]].voucherType + ], + ); } } // Breeders in Space achievement diff --git a/src/phases/turn-end-phase.ts b/src/phases/turn-end-phase.ts index efa0a4dbd81..a8042c68b69 100644 --- a/src/phases/turn-end-phase.ts +++ b/src/phases/turn-end-phase.ts @@ -28,7 +28,7 @@ export class TurnEndPhase extends FieldPhase { if (!pokemon.switchOutStatus) { pokemon.lapseTags(BattlerTagLapseType.TURN_END); - applyHeldItems(HeldItemEffect.TURN_END_HEAL, { pokemon: pokemon }); + applyHeldItems(HeldItemEffect.TURN_END_HEAL, { pokemon }); if (globalScene.arena.terrain?.terrainType === TerrainType.GRASSY && pokemon.isGrounded()) { globalScene.phaseManager.unshiftNew( @@ -43,16 +43,16 @@ export class TurnEndPhase extends FieldPhase { } if (!pokemon.isPlayer()) { - globalScene.applyPlayerItems(TrainerItemEffect.ENEMY_HEAL, { pokemon: pokemon }); - globalScene.applyPlayerItems(TrainerItemEffect.ENEMY_STATUS_HEAL_CHANCE, { pokemon: pokemon }); + globalScene.applyPlayerItems(TrainerItemEffect.ENEMY_HEAL, { pokemon }); + globalScene.applyPlayerItems(TrainerItemEffect.ENEMY_STATUS_HEAL_CHANCE, { pokemon }); } applyAbAttrs("PostTurnAbAttr", { pokemon }); } - applyHeldItems(HeldItemEffect.TURN_END_STATUS, { pokemon: pokemon }); + applyHeldItems(HeldItemEffect.TURN_END_STATUS, { pokemon }); - applyHeldItems(HeldItemEffect.TURN_END_ITEM_STEAL, { pokemon: pokemon }); + applyHeldItems(HeldItemEffect.TURN_END_ITEM_STEAL, { pokemon }); pokemon.tempSummonData.turnCount++; pokemon.tempSummonData.waveTurnCount++; diff --git a/src/phases/victory-phase.ts b/src/phases/victory-phase.ts index 9dfd45d1452..50903e77253 100644 --- a/src/phases/victory-phase.ts +++ b/src/phases/victory-phase.ts @@ -132,6 +132,6 @@ export class VictoryPhase extends PokemonPhase { return gameMode.getFixedBattle(waveIndex).customRewardSettings; } - return undefined; + return; } } diff --git a/src/system/achv.ts b/src/system/achv.ts index b2dbbfe1b2e..300c71ee3e0 100644 --- a/src/system/achv.ts +++ b/src/system/achv.ts @@ -494,12 +494,8 @@ export const achvs = { 25, ).setSecret(true), SPLICE: new Achv("splice", "splice.description", "dna_splicers", 50), - MINI_BLACK_HOLE: new HeldItemAchv( - "miniBlackHole", - "miniBlackHole.description", - "mini_black_hole", - 25, - pokemon => pokemon.heldItemManager.hasItem(HeldItemId.MINI_BLACK_HOLE), + MINI_BLACK_HOLE: new HeldItemAchv("miniBlackHole", "miniBlackHole.description", "mini_black_hole", 25, pokemon => + pokemon.heldItemManager.hasItem(HeldItemId.MINI_BLACK_HOLE), ).setSecret(), HIDDEN_ABILITY: new Achv("hiddenAbility", "hiddenAbility.description", "ability_charm", 25), PERFECT_IVS: new Achv("perfectIvs", "perfectIvs.description", "blunder_policy", 25), diff --git a/src/system/game-data.ts b/src/system/game-data.ts index c91f869db09..43d0dedaef0 100644 --- a/src/system/game-data.ts +++ b/src/system/game-data.ts @@ -1162,20 +1162,20 @@ export class GameData { } } - globalScene.trainerItems.clearItems(); - globalScene.assignTrainerItemsFromSaveData(sessionData.trainerItems, true); + globalScene.trainerItems.clearItems(); + globalScene.assignTrainerItemsFromSaveData(sessionData.trainerItems, true); globalScene.arena.positionalTagManager.tags = fromSession.arena.positionalTags.map(tag => loadPositionalTag(tag), ); - globalScene.enemyTrainerItems.clearItems(); - globalScene.assignTrainerItemsFromSaveData(sessionData.enemyTrainerItems, false); + globalScene.enemyTrainerItems.clearItems(); + globalScene.assignTrainerItemsFromSaveData(sessionData.enemyTrainerItems, false); Promise.all(loadPokemonAssets).then(() => resolve(true)); - globalScene.updateItems(true); - globalScene.updateItems(false); + globalScene.updateItems(true); + globalScene.updateItems(false); }; if (sessionData) { initSessionFromData(sessionData); diff --git a/src/ui/containers/battle-flyout.ts b/src/ui/containers/battle-flyout.ts index c0193825d10..ee7300319dd 100644 --- a/src/ui/containers/battle-flyout.ts +++ b/src/ui/containers/battle-flyout.ts @@ -177,9 +177,9 @@ export class BattleFlyout extends Phaser.GameObjects.Container { private onBerryUsed(event: Event) { const berryUsedEvent = event as BerryUsedEvent; if ( - !berryUsedEvent || - berryUsedEvent.pokemon.id !== this.pokemon?.id || - berryUsedEvent.berryType !== BerryType.LEPPA + !berryUsedEvent + || berryUsedEvent.pokemon.id !== this.pokemon?.id + || berryUsedEvent.berryType !== BerryType.LEPPA ) { // We only care about Leppa berries return; diff --git a/src/ui/handlers/party-ui-handler.ts b/src/ui/handlers/party-ui-handler.ts index f10d0fb39f1..06878e54187 100644 --- a/src/ui/handlers/party-ui-handler.ts +++ b/src/ui/handlers/party-ui-handler.ts @@ -835,9 +835,9 @@ export class PartyUiHandler extends MessageUiHandler { // This is only relevant for PartyUiMode.CHECK // TODO: This risks hitting the other options (.MOVE_i and ALL) so does it? Do we need an extra check? if ( - option >= PartyOption.FORM_CHANGE_ITEM && - globalScene.phaseManager.getCurrentPhase().is("SelectRewardPhase") && - this.partyUiMode === PartyUiMode.CHECK + option >= PartyOption.FORM_CHANGE_ITEM + && globalScene.phaseManager.getCurrentPhase().is("SelectRewardPhase") + && this.partyUiMode === PartyUiMode.CHECK ) { const formChangeItems = this.getFormChangeItems(pokemon); const item = formChangeItems[option - PartyOption.FORM_CHANGE_ITEM]; @@ -950,7 +950,7 @@ export class PartyUiHandler extends MessageUiHandler { return this.moveOptionCursor(button); } - if (button === Button.LEFT || button === Button.RIGHT && this.isItemManageMode()) { + if (button === Button.LEFT || (button === Button.RIGHT && this.isItemManageMode())) { return this.processItemTransferModeLeftRightInput(button); } @@ -1017,8 +1017,8 @@ export class PartyUiHandler extends MessageUiHandler { const ui = this.getUi(); if (this.cursor < 6) { if ( - (this.partyUiMode === PartyUiMode.ITEM_TRANSFER && !this.transferMode) || - this.partyUiMode === PartyUiMode.DISCARD + (this.partyUiMode === PartyUiMode.ITEM_TRANSFER && !this.transferMode) + || this.partyUiMode === PartyUiMode.DISCARD ) { /** Initialize item quantities for the selected Pokemon */ const pokemon = globalScene.getPlayerParty()[this.cursor]; @@ -1063,8 +1063,8 @@ export class PartyUiHandler extends MessageUiHandler { private processPartyCancelInput(): boolean { const ui = this.getUi(); if ( - (this.partyUiMode === PartyUiMode.ITEM_TRANSFER || this.partyUiMode === PartyUiMode.SPLICE) && - this.transferMode + (this.partyUiMode === PartyUiMode.ITEM_TRANSFER || this.partyUiMode === PartyUiMode.SPLICE) + && this.transferMode ) { this.clearTransfer(); ui.playSelect(); @@ -1337,8 +1337,8 @@ export class PartyUiHandler extends MessageUiHandler { private allowBatonSwitch(): boolean { return !!( - this.partyUiMode !== PartyUiMode.FAINT_SWITCH && - globalScene.getPlayerField()[this.fieldIndex].heldItemManager.hasItem(HeldItemId.BATON) + this.partyUiMode !== PartyUiMode.FAINT_SWITCH + && globalScene.getPlayerField()[this.fieldIndex].heldItemManager.hasItem(HeldItemId.BATON) ); } @@ -1580,10 +1580,10 @@ export class PartyUiHandler extends MessageUiHandler { } else if (option === PartyOption.SCROLL_DOWN) { optionName = "↓"; } else if ( - (this.partyUiMode !== PartyUiMode.REMEMBER_MOVE_REWARD && - (this.partyUiMode !== PartyUiMode.ITEM_TRANSFER || this.transferMode) && - this.partyUiMode !== PartyUiMode.DISCARD) || - option === PartyOption.CANCEL + (this.partyUiMode !== PartyUiMode.REMEMBER_MOVE_REWARD + && (this.partyUiMode !== PartyUiMode.ITEM_TRANSFER || this.transferMode) + && this.partyUiMode !== PartyUiMode.DISCARD) + || option === PartyOption.CANCEL ) { switch (option) { case PartyOption.MOVE_1: @@ -1645,11 +1645,11 @@ export class PartyUiHandler extends MessageUiHandler { const items = pokemon.getHeldItems(); const item = items[option]; if ( - this.isItemManageMode() && - this.transferQuantitiesMax[option] > 1 && - !this.transferMode && - item !== undefined && - allHeldItems[item].name === optionName + this.isItemManageMode() + && this.transferQuantitiesMax[option] > 1 + && !this.transferMode + && item !== undefined + && allHeldItems[item].name === optionName ) { let amountText = ` (${this.transferQuantities[option]})`; diff --git a/src/ui/handlers/reward-select-ui-handler.ts b/src/ui/handlers/reward-select-ui-handler.ts index ecd9da2d5b7..314de4e0b81 100644 --- a/src/ui/handlers/reward-select-ui-handler.ts +++ b/src/ui/handlers/reward-select-ui-handler.ts @@ -12,8 +12,8 @@ import { TrainerItemId } from "#enums/trainer-item-id"; import { UiMode } from "#enums/ui-mode"; import type { RewardOption } from "#items/reward"; import { getPlayerShopRewardOptionsForWave, isTmReward } from "#items/reward-utils"; -import { AwaitableUiHandler } from "#ui/handlers/awaitable-ui-handler"; import { MoveInfoOverlay } from "#ui/containers/move-info-overlay"; +import { AwaitableUiHandler } from "#ui/handlers/awaitable-ui-handler"; import { addTextObject, getRarityTierTextTint, getTextColor, getTextStyleOptions } from "#ui/text"; import { formatMoney, NumberHolder } from "#utils/common"; import i18next from "i18next"; diff --git a/src/ui/ui.ts b/src/ui/ui.ts index f09a43b7702..20a4757bda5 100644 --- a/src/ui/ui.ts +++ b/src/ui/ui.ts @@ -28,7 +28,6 @@ import { LoadingModalUiHandler } from "#ui/handlers/loading-modal-ui-handler"; import { LoginFormUiHandler } from "#ui/handlers/login-form-ui-handler"; import { MenuUiHandler } from "#ui/handlers/menu-ui-handler"; import { MessageUiHandler } from "#ui/handlers/message-ui-handler"; -import { ModifierSelectUiHandler } from "#ui/handlers/modifier-select-ui-handler"; import { MysteryEncounterUiHandler } from "#ui/handlers/mystery-encounter-ui-handler"; import { PartyUiHandler } from "#ui/handlers/party-ui-handler"; import { PokedexPageUiHandler } from "#ui/handlers/pokedex-page-ui-handler"; @@ -61,6 +60,7 @@ import { executeIf } from "#utils/common"; import i18next from "i18next"; import { AdminUiHandler } from "./handlers/admin-ui-handler"; import { RenameRunFormUiHandler } from "./handlers/rename-run-ui-handler"; +import { RewardSelectUiHandler } from "./handlers/reward-select-ui-handler"; const transitionModes = [ UiMode.SAVE_SLOT, diff --git a/src/utils/common.ts b/src/utils/common.ts index ccd235d4838..e6d5417ee40 100644 --- a/src/utils/common.ts +++ b/src/utils/common.ts @@ -538,7 +538,7 @@ export function pickWeightedIndex(weights: number[]): number | undefined { const totalWeight = weights.reduce((sum, w) => sum + w, 0); if (totalWeight <= 0) { - return undefined; + return; } let r = randSeedFloat() * totalWeight; @@ -550,10 +550,10 @@ export function pickWeightedIndex(weights: number[]): number | undefined { r -= weights[i]; } - return undefined; // TODO: Change to something more appropriate + return; // TODO: Change to something more appropriate } -/** +/** * Type helper to check if a given item is in a tuple, returning `true` or `false` as appropriate. * @typeParam T - The tuple to check * @param X - The item whose inclusion is being checked @@ -566,7 +566,7 @@ type InArray = T extends readonly [X, ...infer _Rest] ? InArray : false; -/** +/** * Type helper to allow only unique elements in a tuple (effectively converting it to a Set). * Within it, any duplicate elements will be flagged and converted to an error message. * @typeParam T - The tuple to render unique diff --git a/test/abilities/harvest.test.ts b/test/abilities/harvest.test.ts index 540fa8c74e7..acf080ac889 100644 --- a/test/abilities/harvest.test.ts +++ b/test/abilities/harvest.test.ts @@ -98,9 +98,12 @@ describe("Abilities - Harvest", () => { await game.toNextTurn(); - expect(milotic.battleData.berriesEaten).toEqualArrayUnsorted( - [BerryType.ENIGMA, BerryType.LUM, BerryType.ENIGMA, BerryType.LUM] - ); + expect(milotic.battleData.berriesEaten).toEqualArrayUnsorted([ + BerryType.ENIGMA, + BerryType.LUM, + BerryType.ENIGMA, + BerryType.LUM, + ]); expect(getPartyBerries()).toHaveLength(0); // proc a high roll and we _should_ get a berry back! diff --git a/test/achievements/achievement.test.ts b/test/achievements/achievement.test.ts index 5a2bf2db5c1..69313179556 100644 --- a/test/achievements/achievement.test.ts +++ b/test/achievements/achievement.test.ts @@ -202,13 +202,7 @@ describe("LevelAchv", () => { describe("HeldItemAchv", () => { it("should create an instance of ModifierAchv", () => { - const heldItemAchv = new HeldItemAchv( - "", - "Test Description", - "modifier_icon", - 10, - () => true, - ); + const heldItemAchv = new HeldItemAchv("", "Test Description", "modifier_icon", 10, () => true); expect(heldItemAchv).toBeInstanceOf(HeldItemAchv); expect(heldItemAchv instanceof Achv).toBe(true); }); diff --git a/test/items/eviolite.test.ts b/test/items/eviolite.test.ts index c25a0a521cb..b62d7aa6c0a 100644 --- a/test/items/eviolite.test.ts +++ b/test/items/eviolite.test.ts @@ -34,7 +34,7 @@ describe("Items - Eviolite", () => { vi.spyOn(partyMember, "getEffectiveStat").mockImplementation((stat, _opponent?, _move?, _isCritical?) => { const statValue = new NumberHolder(partyMember.getStat(stat, false)); - applyHeldItems(HeldItemEffect.STAT_BOOST, { pokemon: partyMember, stat: stat, statValue: statValue }); + applyHeldItems(HeldItemEffect.STAT_BOOST, { pokemon: partyMember, stat, statValue }); return Math.floor(statValue.value); }); @@ -53,7 +53,7 @@ describe("Items - Eviolite", () => { vi.spyOn(partyMember, "getEffectiveStat").mockImplementation((stat, _opponent?, _move?, _isCritical?) => { const statValue = new NumberHolder(partyMember.getStat(stat, false)); - applyHeldItems(HeldItemEffect.STAT_BOOST, { pokemon: partyMember, stat: stat, statValue: statValue }); + applyHeldItems(HeldItemEffect.STAT_BOOST, { pokemon: partyMember, stat, statValue }); // Ignore other calculations for simplicity @@ -83,7 +83,7 @@ describe("Items - Eviolite", () => { vi.spyOn(partyMember, "getEffectiveStat").mockImplementation((stat, _opponent?, _move?, _isCritical?) => { const statValue = new NumberHolder(partyMember.getStat(stat, false)); - applyHeldItems(HeldItemEffect.STAT_BOOST, { pokemon: partyMember, stat: stat, statValue: statValue }); + applyHeldItems(HeldItemEffect.STAT_BOOST, { pokemon: partyMember, stat, statValue }); // Ignore other calculations for simplicity @@ -113,7 +113,7 @@ describe("Items - Eviolite", () => { vi.spyOn(partyMember, "getEffectiveStat").mockImplementation((stat, _opponent?, _move?, _isCritical?) => { const statValue = new NumberHolder(partyMember.getStat(stat, false)); - applyHeldItems(HeldItemEffect.STAT_BOOST, { pokemon: partyMember, stat: stat, statValue: statValue }); + applyHeldItems(HeldItemEffect.STAT_BOOST, { pokemon: partyMember, stat, statValue }); // Ignore other calculations for simplicity @@ -143,7 +143,7 @@ describe("Items - Eviolite", () => { vi.spyOn(partyMember, "getEffectiveStat").mockImplementation((stat, _opponent?, _move?, _isCritical?) => { const statValue = new NumberHolder(partyMember.getStat(stat, false)); - applyHeldItems(HeldItemEffect.STAT_BOOST, { pokemon: partyMember, stat: stat, statValue: statValue }); + applyHeldItems(HeldItemEffect.STAT_BOOST, { pokemon: partyMember, stat, statValue }); // Ignore other calculations for simplicity @@ -173,7 +173,7 @@ describe("Items - Eviolite", () => { vi.spyOn(partyMember, "getEffectiveStat").mockImplementation((stat, _opponent?, _move?, _isCritical?) => { const statValue = new NumberHolder(partyMember.getStat(stat, false)); - applyHeldItems(HeldItemEffect.STAT_BOOST, { pokemon: partyMember, stat: stat, statValue: statValue }); + applyHeldItems(HeldItemEffect.STAT_BOOST, { pokemon: partyMember, stat, statValue }); // Ignore other calculations for simplicity @@ -203,7 +203,7 @@ describe("Items - Eviolite", () => { vi.spyOn(partyMember, "getEffectiveStat").mockImplementation((stat, _opponent?, _move?, _isCritical?) => { const statValue = new NumberHolder(partyMember.getStat(stat, false)); - applyHeldItems(HeldItemEffect.STAT_BOOST, { pokemon: partyMember, stat: stat, statValue: statValue }); + applyHeldItems(HeldItemEffect.STAT_BOOST, { pokemon: partyMember, stat, statValue }); // Ignore other calculations for simplicity diff --git a/test/mystery-encounter/encounters/department-store-sale-encounter.test.ts b/test/mystery-encounter/encounters/department-store-sale-encounter.test.ts index 24591777edb..6bed4a348af 100644 --- a/test/mystery-encounter/encounters/department-store-sale-encounter.test.ts +++ b/test/mystery-encounter/encounters/department-store-sale-encounter.test.ts @@ -179,8 +179,8 @@ describe("Department Store Sale - Mystery Encounter", () => { expect(rewardSelectHandler.options.length).toEqual(5); for (const option of rewardSelectHandler.options) { expect( - option.rewardOption.type.id === RewardId.DIRE_HIT || - option.rewardOption.type.id === RewardId.TEMP_STAT_STAGE_BOOSTER, + option.rewardOption.type.id === RewardId.DIRE_HIT + || option.rewardOption.type.id === RewardId.TEMP_STAT_STAGE_BOOSTER, ).toBeTruthy(); } }); diff --git a/test/mystery-encounter/encounters/fiery-fallout-encounter.test.ts b/test/mystery-encounter/encounters/fiery-fallout-encounter.test.ts index 4a9f6e107de..7258adc5299 100644 --- a/test/mystery-encounter/encounters/fiery-fallout-encounter.test.ts +++ b/test/mystery-encounter/encounters/fiery-fallout-encounter.test.ts @@ -264,7 +264,8 @@ describe("Fiery Fallout - Mystery Encounter", () => { await game.phaseInterceptor.to(SelectRewardPhase, false); expect(game).toBeAtPhase("SelectRewardPhase"); - const hasAttackBooster = game.field.getPlayerPokemon() + const hasAttackBooster = game.field + .getPlayerPokemon() .heldItemManager.hasItem(HeldItemCategoryId.TYPE_ATTACK_BOOSTER); expect(hasAttackBooster).toBe(true); }); diff --git a/test/mystery-encounter/encounters/mysterious-challengers-encounter.test.ts b/test/mystery-encounter/encounters/mysterious-challengers-encounter.test.ts index a4159269387..0a4e0c470aa 100644 --- a/test/mystery-encounter/encounters/mysterious-challengers-encounter.test.ts +++ b/test/mystery-encounter/encounters/mysterious-challengers-encounter.test.ts @@ -213,20 +213,20 @@ describe("Mysterious Challengers - Mystery Encounter", () => { ) as RewardSelectUiHandler; expect(rewardSelectHandler.options.length).toEqual(4); expect( - rewardSelectHandler.options[0].rewardOption.type.tier - - rewardSelectHandler.options[0].rewardOption.upgradeCount, + rewardSelectHandler.options[0].rewardOption.type.tier + - rewardSelectHandler.options[0].rewardOption.upgradeCount, ).toBe(RarityTier.ULTRA); expect( - rewardSelectHandler.options[1].rewardOption.type.tier - - rewardSelectHandler.options[1].rewardOption.upgradeCount, + rewardSelectHandler.options[1].rewardOption.type.tier + - rewardSelectHandler.options[1].rewardOption.upgradeCount, ).toBe(RarityTier.ULTRA); expect( - rewardSelectHandler.options[2].rewardOption.type.tier - - rewardSelectHandler.options[2].rewardOption.upgradeCount, + rewardSelectHandler.options[2].rewardOption.type.tier + - rewardSelectHandler.options[2].rewardOption.upgradeCount, ).toBe(RarityTier.GREAT); expect( - rewardSelectHandler.options[3].rewardOption.type.tier - - rewardSelectHandler.options[3].rewardOption.upgradeCount, + rewardSelectHandler.options[3].rewardOption.type.tier + - rewardSelectHandler.options[3].rewardOption.upgradeCount, ).toBe(RarityTier.GREAT); }); }); @@ -269,20 +269,20 @@ describe("Mysterious Challengers - Mystery Encounter", () => { ) as RewardSelectUiHandler; expect(rewardSelectHandler.options.length).toEqual(4); expect( - rewardSelectHandler.options[0].rewardOption.type.tier - - rewardSelectHandler.options[0].rewardOption.upgradeCount, + rewardSelectHandler.options[0].rewardOption.type.tier + - rewardSelectHandler.options[0].rewardOption.upgradeCount, ).toBe(RarityTier.ROGUE); expect( - rewardSelectHandler.options[1].rewardOption.type.tier - - rewardSelectHandler.options[1].rewardOption.upgradeCount, + rewardSelectHandler.options[1].rewardOption.type.tier + - rewardSelectHandler.options[1].rewardOption.upgradeCount, ).toBe(RarityTier.ROGUE); expect( - rewardSelectHandler.options[2].rewardOption.type.tier - - rewardSelectHandler.options[2].rewardOption.upgradeCount, + rewardSelectHandler.options[2].rewardOption.type.tier + - rewardSelectHandler.options[2].rewardOption.upgradeCount, ).toBe(RarityTier.ULTRA); expect( - rewardSelectHandler.options[3].rewardOption.type.tier - - rewardSelectHandler.options[3].rewardOption.upgradeCount, + rewardSelectHandler.options[3].rewardOption.type.tier + - rewardSelectHandler.options[3].rewardOption.upgradeCount, ).toBe(RarityTier.GREAT); }); }); diff --git a/test/mystery-encounter/encounters/the-strong-stuff-encounter.test.ts b/test/mystery-encounter/encounters/the-strong-stuff-encounter.test.ts index bd7bccf0c3f..ec22ba67283 100644 --- a/test/mystery-encounter/encounters/the-strong-stuff-encounter.test.ts +++ b/test/mystery-encounter/encounters/the-strong-stuff-encounter.test.ts @@ -148,7 +148,7 @@ describe("The Strong Stuff - Mystery Encounter", () => { const bstsAfter = scene.getPlayerParty().map(p => { const baseStats = p.getSpeciesForm().baseStats.slice(0); - applyHeldItems(HeldItemEffect.BASE_STAT_ADD, { pokemon: p, baseStats: baseStats }); + applyHeldItems(HeldItemEffect.BASE_STAT_ADD, { pokemon: p, baseStats }); return baseStats.reduce((a, b) => a + b); }); diff --git a/test/mystery-encounter/encounters/trash-to-treasure-encounter.test.ts b/test/mystery-encounter/encounters/trash-to-treasure-encounter.test.ts index b93a16770d2..b7dc62de774 100644 --- a/test/mystery-encounter/encounters/trash-to-treasure-encounter.test.ts +++ b/test/mystery-encounter/encounters/trash-to-treasure-encounter.test.ts @@ -212,20 +212,20 @@ describe("Trash to Treasure - Mystery Encounter", () => { ) as RewardSelectUiHandler; expect(rewardSelectHandler.options.length).toEqual(4); expect( - rewardSelectHandler.options[0].rewardOption.type.tier - - rewardSelectHandler.options[0].rewardOption.upgradeCount, + rewardSelectHandler.options[0].rewardOption.type.tier + - rewardSelectHandler.options[0].rewardOption.upgradeCount, ).toEqual(RarityTier.ROGUE); expect( - rewardSelectHandler.options[1].rewardOption.type.tier - - rewardSelectHandler.options[1].rewardOption.upgradeCount, + rewardSelectHandler.options[1].rewardOption.type.tier + - rewardSelectHandler.options[1].rewardOption.upgradeCount, ).toEqual(RarityTier.ROGUE); expect( - rewardSelectHandler.options[2].rewardOption.type.tier - - rewardSelectHandler.options[2].rewardOption.upgradeCount, + rewardSelectHandler.options[2].rewardOption.type.tier + - rewardSelectHandler.options[2].rewardOption.upgradeCount, ).toEqual(RarityTier.ULTRA); expect( - rewardSelectHandler.options[3].rewardOption.type.tier - - rewardSelectHandler.options[3].rewardOption.upgradeCount, + rewardSelectHandler.options[3].rewardOption.type.tier + - rewardSelectHandler.options[3].rewardOption.upgradeCount, ).toEqual(RarityTier.GREAT); }); }); diff --git a/test/mystery-encounter/encounters/weird-dream-encounter.test.ts b/test/mystery-encounter/encounters/weird-dream-encounter.test.ts index 901d7fcc011..02aee592420 100644 --- a/test/mystery-encounter/encounters/weird-dream-encounter.test.ts +++ b/test/mystery-encounter/encounters/weird-dream-encounter.test.ts @@ -204,28 +204,28 @@ describe("Weird Dream - Mystery Encounter", () => { ) as RewardSelectUiHandler; expect(rewardSelectHandler.options.length).toEqual(6); expect( - rewardSelectHandler.options[0].rewardOption.type.tier - - rewardSelectHandler.options[0].rewardOption.upgradeCount, + rewardSelectHandler.options[0].rewardOption.type.tier + - rewardSelectHandler.options[0].rewardOption.upgradeCount, ).toEqual(RarityTier.ROGUE); expect( - rewardSelectHandler.options[1].rewardOption.type.tier - - rewardSelectHandler.options[1].rewardOption.upgradeCount, + rewardSelectHandler.options[1].rewardOption.type.tier + - rewardSelectHandler.options[1].rewardOption.upgradeCount, ).toEqual(RarityTier.ROGUE); expect( - rewardSelectHandler.options[2].rewardOption.type.tier - - rewardSelectHandler.options[2].rewardOption.upgradeCount, + rewardSelectHandler.options[2].rewardOption.type.tier + - rewardSelectHandler.options[2].rewardOption.upgradeCount, ).toEqual(RarityTier.ULTRA); expect( - rewardSelectHandler.options[3].rewardOption.type.tier - - rewardSelectHandler.options[3].rewardOption.upgradeCount, + rewardSelectHandler.options[3].rewardOption.type.tier + - rewardSelectHandler.options[3].rewardOption.upgradeCount, ).toEqual(RarityTier.ULTRA); expect( - rewardSelectHandler.options[4].rewardOption.type.tier - - rewardSelectHandler.options[4].rewardOption.upgradeCount, + rewardSelectHandler.options[4].rewardOption.type.tier + - rewardSelectHandler.options[4].rewardOption.upgradeCount, ).toEqual(RarityTier.GREAT); expect( - rewardSelectHandler.options[5].rewardOption.type.tier - - rewardSelectHandler.options[5].rewardOption.upgradeCount, + rewardSelectHandler.options[5].rewardOption.type.tier + - rewardSelectHandler.options[5].rewardOption.upgradeCount, ).toEqual(RarityTier.GREAT); }); }); diff --git a/test/test-utils/game-manager.ts b/test/test-utils/game-manager.ts index 824a612ea97..9b22a7c38e1 100644 --- a/test/test-utils/game-manager.ts +++ b/test/test-utils/game-manager.ts @@ -48,7 +48,6 @@ import type { PhaseClass, PhaseString } from "#types/phase-types"; import type { BallUiHandler } from "#ui/handlers/ball-ui-handler"; import type { BattleMessageUiHandler } from "#ui/handlers/battle-message-ui-handler"; import type { CommandUiHandler } from "#ui/handlers/command-ui-handler"; -import type { ModifierSelectUiHandler } from "#ui/handlers/reward-select-ui-handler"; import type { PartyUiHandler } from "#ui/handlers/party-ui-handler"; import type { StarterSelectUiHandler } from "#ui/handlers/starter-select-ui-handler"; import type { TargetSelectUiHandler } from "#ui/handlers/target-select-ui-handler"; diff --git a/test/test-utils/helpers/overrides-helper.ts b/test/test-utils/helpers/overrides-helper.ts index c85b89c4b13..a255fc424d9 100644 --- a/test/test-utils/helpers/overrides-helper.ts +++ b/test/test-utils/helpers/overrides-helper.ts @@ -144,8 +144,8 @@ export class OverridesHelper extends GameManagerHelper { * @returns `this` */ public startingPokeballs(pokeballs: PokeballCounts): this { - vi.spyOn(Overrides, "POKEBALL_OVERRIDE", "get").mockReturnValue({ active: true, pokeballs: pokeballs }); - this.log("Player Pokemon starting held items set to:", { active: true, pokeballs: pokeballs }); + vi.spyOn(Overrides, "POKEBALL_OVERRIDE", "get").mockReturnValue({ active: true, pokeballs }); + this.log("Player Pokemon starting held items set to:", { active: true, pokeballs }); return this; }