From ede7fe4615a8f597b7d451b6ade95e19c67fb860 Mon Sep 17 00:00:00 2001 From: Wlowscha <54003515+Wlowscha@users.noreply.github.com> Date: Thu, 19 Jun 2025 18:23:29 +0200 Subject: [PATCH] Replaced ModifierTier with RewardTier --- src/battle.ts | 52 +- src/data/balance/tms.ts | 636 +++++++++--------- src/data/challenge.ts | 24 +- .../encounters/a-trainers-test-encounter.ts | 4 +- .../encounters/bug-type-superfan-encounter.ts | 4 +- .../encounters/clowning-around-encounter.ts | 16 +- .../encounters/fight-or-flight-encounter.ts | 10 +- .../global-trade-system-encounter.ts | 108 +-- .../mysterious-challengers-encounter.ts | 6 +- .../encounters/mysterious-chest-encounter.ts | 10 +- .../the-winstrate-challenge-encounter.ts | 4 +- .../encounters/trash-to-treasure-encounter.ts | 4 +- .../encounters/weird-dream-encounter.ts | 14 +- src/enums/modifier-tier.ts | 8 - src/field/pokemon.ts | 8 +- src/modifier/init-modifier-pools.ts | 42 +- src/modifier/modifier-type.ts | 72 +- src/phases/add-enemy-buff-modifier-phase.ts | 8 +- src/phases/select-modifier-phase.ts | 8 +- src/ui/text.ts | 24 +- test/items/lock_capsule.test.ts | 4 +- .../clowning-around-encounter.test.ts | 6 +- .../global-trade-system-encounter.test.ts | 4 +- .../mysterious-challengers-encounter.test.ts | 18 +- .../trash-to-treasure-encounter.test.ts | 10 +- .../encounters/weird-dream-encounter.test.ts | 14 +- test/phases/select-modifier-phase.test.ts | 34 +- 27 files changed, 575 insertions(+), 577 deletions(-) delete mode 100644 src/enums/modifier-tier.ts diff --git a/src/battle.ts b/src/battle.ts index a275f669740..313870b0c37 100644 --- a/src/battle.ts +++ b/src/battle.ts @@ -30,7 +30,7 @@ import i18next from "#app/plugins/i18n"; import type MysteryEncounter from "#app/data/mystery-encounters/mystery-encounter"; import { MysteryEncounterMode } from "#enums/mystery-encounter-mode"; import type { CustomModifierSettings } from "#app/modifier/modifier-type"; -import { ModifierTier } from "#enums/modifier-tier"; +import { RewardTier } from "#enums/reward-tier"; import type { MysteryEncounterType } from "#enums/mystery-encounter-type"; import { BattleType } from "#enums/battle-type"; import { ClassicFixedBossWaves } from "#enums/fixed-boss-waves"; @@ -593,7 +593,7 @@ export const classicFixedBattles: FixedBattleConfigs = { ), ) .setCustomModifierRewards({ - guaranteedModifierTiers: [ModifierTier.ULTRA, ModifierTier.GREAT, ModifierTier.GREAT], + guaranteedModifierTiers: [RewardTier.ULTRA, RewardTier.GREAT, RewardTier.GREAT], allowLuckUpgrades: false, }), [ClassicFixedBossWaves.EVIL_GRUNT_1]: new FixedBattleConfig() @@ -625,7 +625,7 @@ export const classicFixedBattles: FixedBattleConfigs = { ), ) .setCustomModifierRewards({ - guaranteedModifierTiers: [ModifierTier.ULTRA, ModifierTier.ULTRA, ModifierTier.GREAT, ModifierTier.GREAT], + guaranteedModifierTiers: [RewardTier.ULTRA, RewardTier.ULTRA, RewardTier.GREAT, RewardTier.GREAT], allowLuckUpgrades: false, }), [ClassicFixedBossWaves.EVIL_GRUNT_2]: new FixedBattleConfig() @@ -698,7 +698,7 @@ export const classicFixedBattles: FixedBattleConfigs = { ), ) .setCustomModifierRewards({ - guaranteedModifierTiers: [ModifierTier.ULTRA, ModifierTier.ULTRA, ModifierTier.ULTRA, ModifierTier.ULTRA], + guaranteedModifierTiers: [RewardTier.ULTRA, RewardTier.ULTRA, RewardTier.ULTRA, RewardTier.ULTRA], allowLuckUpgrades: false, }), [ClassicFixedBossWaves.EVIL_GRUNT_4]: new FixedBattleConfig() @@ -761,11 +761,11 @@ export const classicFixedBattles: FixedBattleConfigs = { ) .setCustomModifierRewards({ guaranteedModifierTiers: [ - ModifierTier.ROGUE, - ModifierTier.ROGUE, - ModifierTier.ULTRA, - ModifierTier.ULTRA, - ModifierTier.ULTRA, + RewardTier.ROGUE, + RewardTier.ROGUE, + RewardTier.ULTRA, + RewardTier.ULTRA, + RewardTier.ULTRA, ], allowLuckUpgrades: false, }), @@ -780,11 +780,11 @@ export const classicFixedBattles: FixedBattleConfigs = { ) .setCustomModifierRewards({ guaranteedModifierTiers: [ - ModifierTier.ROGUE, - ModifierTier.ROGUE, - ModifierTier.ROGUE, - ModifierTier.ULTRA, - ModifierTier.ULTRA, + RewardTier.ROGUE, + RewardTier.ROGUE, + RewardTier.ROGUE, + RewardTier.ULTRA, + RewardTier.ULTRA, ], allowLuckUpgrades: false, }), @@ -807,12 +807,12 @@ export const classicFixedBattles: FixedBattleConfigs = { ) .setCustomModifierRewards({ guaranteedModifierTiers: [ - ModifierTier.ROGUE, - ModifierTier.ROGUE, - ModifierTier.ULTRA, - ModifierTier.ULTRA, - ModifierTier.ULTRA, - ModifierTier.ULTRA, + RewardTier.ROGUE, + RewardTier.ROGUE, + RewardTier.ULTRA, + RewardTier.ULTRA, + RewardTier.ULTRA, + RewardTier.ULTRA, ], allowLuckUpgrades: false, }), @@ -911,12 +911,12 @@ export const classicFixedBattles: FixedBattleConfigs = { ) .setCustomModifierRewards({ guaranteedModifierTiers: [ - ModifierTier.ROGUE, - ModifierTier.ROGUE, - ModifierTier.ULTRA, - ModifierTier.ULTRA, - ModifierTier.GREAT, - ModifierTier.GREAT, + RewardTier.ROGUE, + RewardTier.ROGUE, + RewardTier.ULTRA, + RewardTier.ULTRA, + RewardTier.GREAT, + RewardTier.GREAT, ], allowLuckUpgrades: false, }), diff --git a/src/data/balance/tms.ts b/src/data/balance/tms.ts index e194dc4040c..b6317e8edd4 100644 --- a/src/data/balance/tms.ts +++ b/src/data/balance/tms.ts @@ -1,4 +1,4 @@ -import { ModifierTier } from "#enums/modifier-tier"; +import { RewardTier } from "#enums/reward-tier"; import { MoveId } from "#enums/move-id"; import { SpeciesId } from "#enums/species-id"; @@ -68591,324 +68591,324 @@ function transposeTmSpecies(): SpeciesTmMoves { export const speciesTmMoves: SpeciesTmMoves = transposeTmSpecies(); interface TmPoolTiers { - [key: number]: ModifierTier + [key: number]: RewardTier } export const tmPoolTiers: TmPoolTiers = { - [MoveId.MEGA_PUNCH]: ModifierTier.GREAT, - [MoveId.PAY_DAY]: ModifierTier.ULTRA, - [MoveId.FIRE_PUNCH]: ModifierTier.GREAT, - [MoveId.ICE_PUNCH]: ModifierTier.GREAT, - [MoveId.THUNDER_PUNCH]: ModifierTier.GREAT, - [MoveId.SWORDS_DANCE]: ModifierTier.COMMON, - [MoveId.CUT]: ModifierTier.COMMON, - [MoveId.FLY]: ModifierTier.COMMON, - [MoveId.MEGA_KICK]: ModifierTier.GREAT, - [MoveId.BODY_SLAM]: ModifierTier.GREAT, - [MoveId.TAKE_DOWN]: ModifierTier.GREAT, - [MoveId.DOUBLE_EDGE]: ModifierTier.ULTRA, - [MoveId.PIN_MISSILE]: ModifierTier.COMMON, - [MoveId.ROAR]: ModifierTier.COMMON, - [MoveId.FLAMETHROWER]: ModifierTier.ULTRA, - [MoveId.HYDRO_PUMP]: ModifierTier.ULTRA, - [MoveId.SURF]: ModifierTier.ULTRA, - [MoveId.ICE_BEAM]: ModifierTier.ULTRA, - [MoveId.BLIZZARD]: ModifierTier.ULTRA, - [MoveId.PSYBEAM]: ModifierTier.GREAT, - [MoveId.HYPER_BEAM]: ModifierTier.ULTRA, - [MoveId.LOW_KICK]: ModifierTier.COMMON, - [MoveId.COUNTER]: ModifierTier.COMMON, - [MoveId.STRENGTH]: ModifierTier.GREAT, - [MoveId.SOLAR_BEAM]: ModifierTier.ULTRA, - [MoveId.FIRE_SPIN]: ModifierTier.COMMON, - [MoveId.THUNDERBOLT]: ModifierTier.ULTRA, - [MoveId.THUNDER_WAVE]: ModifierTier.COMMON, - [MoveId.THUNDER]: ModifierTier.ULTRA, - [MoveId.EARTHQUAKE]: ModifierTier.ULTRA, - [MoveId.DIG]: ModifierTier.GREAT, - [MoveId.TOXIC]: ModifierTier.GREAT, - [MoveId.PSYCHIC]: ModifierTier.ULTRA, - [MoveId.AGILITY]: ModifierTier.COMMON, - [MoveId.NIGHT_SHADE]: ModifierTier.COMMON, - [MoveId.SCREECH]: ModifierTier.COMMON, - [MoveId.DOUBLE_TEAM]: ModifierTier.COMMON, - [MoveId.CONFUSE_RAY]: ModifierTier.COMMON, - [MoveId.LIGHT_SCREEN]: ModifierTier.COMMON, - [MoveId.HAZE]: ModifierTier.COMMON, - [MoveId.REFLECT]: ModifierTier.COMMON, - [MoveId.FOCUS_ENERGY]: ModifierTier.COMMON, - [MoveId.METRONOME]: ModifierTier.COMMON, - [MoveId.SELF_DESTRUCT]: ModifierTier.GREAT, - [MoveId.FIRE_BLAST]: ModifierTier.ULTRA, - [MoveId.WATERFALL]: ModifierTier.GREAT, - [MoveId.SWIFT]: ModifierTier.COMMON, - [MoveId.AMNESIA]: ModifierTier.COMMON, - [MoveId.DREAM_EATER]: ModifierTier.GREAT, - [MoveId.LEECH_LIFE]: ModifierTier.ULTRA, - [MoveId.FLASH]: ModifierTier.COMMON, - [MoveId.EXPLOSION]: ModifierTier.GREAT, - [MoveId.REST]: ModifierTier.COMMON, - [MoveId.ROCK_SLIDE]: ModifierTier.GREAT, - [MoveId.TRI_ATTACK]: ModifierTier.ULTRA, - [MoveId.SUPER_FANG]: ModifierTier.COMMON, - [MoveId.SUBSTITUTE]: ModifierTier.COMMON, - [MoveId.THIEF]: ModifierTier.GREAT, - [MoveId.SNORE]: ModifierTier.COMMON, - [MoveId.CURSE]: ModifierTier.COMMON, - [MoveId.REVERSAL]: ModifierTier.COMMON, - [MoveId.SPITE]: ModifierTier.COMMON, - [MoveId.PROTECT]: ModifierTier.COMMON, - [MoveId.SCARY_FACE]: ModifierTier.COMMON, - [MoveId.SLUDGE_BOMB]: ModifierTier.GREAT, - [MoveId.MUD_SLAP]: ModifierTier.COMMON, - [MoveId.SPIKES]: ModifierTier.COMMON, - [MoveId.ICY_WIND]: ModifierTier.GREAT, - [MoveId.OUTRAGE]: ModifierTier.ULTRA, - [MoveId.SANDSTORM]: ModifierTier.COMMON, - [MoveId.GIGA_DRAIN]: ModifierTier.ULTRA, - [MoveId.ENDURE]: ModifierTier.COMMON, - [MoveId.CHARM]: ModifierTier.COMMON, - [MoveId.FALSE_SWIPE]: ModifierTier.COMMON, - [MoveId.SWAGGER]: ModifierTier.COMMON, - [MoveId.STEEL_WING]: ModifierTier.GREAT, - [MoveId.ATTRACT]: ModifierTier.COMMON, - [MoveId.SLEEP_TALK]: ModifierTier.COMMON, - [MoveId.HEAL_BELL]: ModifierTier.COMMON, - [MoveId.RETURN]: ModifierTier.ULTRA, - [MoveId.FRUSTRATION]: ModifierTier.COMMON, - [MoveId.SAFEGUARD]: ModifierTier.COMMON, - [MoveId.PAIN_SPLIT]: ModifierTier.COMMON, - [MoveId.MEGAHORN]: ModifierTier.ULTRA, - [MoveId.BATON_PASS]: ModifierTier.COMMON, - [MoveId.ENCORE]: ModifierTier.COMMON, - [MoveId.IRON_TAIL]: ModifierTier.GREAT, - [MoveId.METAL_CLAW]: ModifierTier.COMMON, - [MoveId.SYNTHESIS]: ModifierTier.GREAT, - [MoveId.HIDDEN_POWER]: ModifierTier.GREAT, - [MoveId.RAIN_DANCE]: ModifierTier.COMMON, - [MoveId.SUNNY_DAY]: ModifierTier.COMMON, - [MoveId.CRUNCH]: ModifierTier.GREAT, - [MoveId.PSYCH_UP]: ModifierTier.COMMON, - [MoveId.SHADOW_BALL]: ModifierTier.ULTRA, - [MoveId.FUTURE_SIGHT]: ModifierTier.GREAT, - [MoveId.ROCK_SMASH]: ModifierTier.COMMON, - [MoveId.WHIRLPOOL]: ModifierTier.COMMON, - [MoveId.BEAT_UP]: ModifierTier.COMMON, - [MoveId.UPROAR]: ModifierTier.GREAT, - [MoveId.HEAT_WAVE]: ModifierTier.ULTRA, - [MoveId.HAIL]: ModifierTier.COMMON, - [MoveId.TORMENT]: ModifierTier.COMMON, - [MoveId.WILL_O_WISP]: ModifierTier.COMMON, - [MoveId.FACADE]: ModifierTier.GREAT, - [MoveId.FOCUS_PUNCH]: ModifierTier.COMMON, - [MoveId.NATURE_POWER]: ModifierTier.COMMON, - [MoveId.CHARGE]: ModifierTier.COMMON, - [MoveId.TAUNT]: ModifierTier.COMMON, - [MoveId.HELPING_HAND]: ModifierTier.COMMON, - [MoveId.TRICK]: ModifierTier.COMMON, - [MoveId.SUPERPOWER]: ModifierTier.ULTRA, - [MoveId.RECYCLE]: ModifierTier.COMMON, - [MoveId.REVENGE]: ModifierTier.GREAT, - [MoveId.BRICK_BREAK]: ModifierTier.GREAT, - [MoveId.KNOCK_OFF]: ModifierTier.GREAT, - [MoveId.ENDEAVOR]: ModifierTier.COMMON, - [MoveId.SKILL_SWAP]: ModifierTier.COMMON, - [MoveId.IMPRISON]: ModifierTier.COMMON, - [MoveId.SECRET_POWER]: ModifierTier.COMMON, - [MoveId.DIVE]: ModifierTier.GREAT, - [MoveId.FEATHER_DANCE]: ModifierTier.COMMON, - [MoveId.BLAZE_KICK]: ModifierTier.GREAT, - [MoveId.HYPER_VOICE]: ModifierTier.ULTRA, - [MoveId.BLAST_BURN]: ModifierTier.ULTRA, - [MoveId.HYDRO_CANNON]: ModifierTier.ULTRA, - [MoveId.WEATHER_BALL]: ModifierTier.COMMON, - [MoveId.FAKE_TEARS]: ModifierTier.COMMON, - [MoveId.AIR_CUTTER]: ModifierTier.GREAT, - [MoveId.OVERHEAT]: ModifierTier.ULTRA, - [MoveId.ROCK_TOMB]: ModifierTier.GREAT, - [MoveId.METAL_SOUND]: ModifierTier.COMMON, - [MoveId.COSMIC_POWER]: ModifierTier.COMMON, - [MoveId.SIGNAL_BEAM]: ModifierTier.GREAT, - [MoveId.SAND_TOMB]: ModifierTier.COMMON, - [MoveId.MUDDY_WATER]: ModifierTier.GREAT, - [MoveId.BULLET_SEED]: ModifierTier.GREAT, - [MoveId.AERIAL_ACE]: ModifierTier.GREAT, - [MoveId.ICICLE_SPEAR]: ModifierTier.GREAT, - [MoveId.IRON_DEFENSE]: ModifierTier.GREAT, - [MoveId.DRAGON_CLAW]: ModifierTier.ULTRA, - [MoveId.FRENZY_PLANT]: ModifierTier.ULTRA, - [MoveId.BULK_UP]: ModifierTier.COMMON, - [MoveId.BOUNCE]: ModifierTier.GREAT, - [MoveId.MUD_SHOT]: ModifierTier.GREAT, - [MoveId.POISON_TAIL]: ModifierTier.GREAT, - [MoveId.COVET]: ModifierTier.GREAT, - [MoveId.MAGICAL_LEAF]: ModifierTier.GREAT, - [MoveId.CALM_MIND]: ModifierTier.GREAT, - [MoveId.LEAF_BLADE]: ModifierTier.ULTRA, - [MoveId.DRAGON_DANCE]: ModifierTier.GREAT, - [MoveId.ROCK_BLAST]: ModifierTier.GREAT, - [MoveId.WATER_PULSE]: ModifierTier.GREAT, - [MoveId.ROOST]: ModifierTier.GREAT, - [MoveId.GRAVITY]: ModifierTier.COMMON, - [MoveId.GYRO_BALL]: ModifierTier.COMMON, - [MoveId.BRINE]: ModifierTier.GREAT, - [MoveId.PLUCK]: ModifierTier.GREAT, - [MoveId.TAILWIND]: ModifierTier.GREAT, - [MoveId.U_TURN]: ModifierTier.GREAT, - [MoveId.CLOSE_COMBAT]: ModifierTier.ULTRA, - [MoveId.PAYBACK]: ModifierTier.COMMON, - [MoveId.ASSURANCE]: ModifierTier.COMMON, - [MoveId.EMBARGO]: ModifierTier.COMMON, - [MoveId.FLING]: ModifierTier.COMMON, - [MoveId.GASTRO_ACID]: ModifierTier.GREAT, - [MoveId.POWER_SWAP]: ModifierTier.COMMON, - [MoveId.GUARD_SWAP]: ModifierTier.COMMON, - [MoveId.WORRY_SEED]: ModifierTier.GREAT, - [MoveId.TOXIC_SPIKES]: ModifierTier.GREAT, - [MoveId.FLARE_BLITZ]: ModifierTier.ULTRA, - [MoveId.AURA_SPHERE]: ModifierTier.GREAT, - [MoveId.ROCK_POLISH]: ModifierTier.COMMON, - [MoveId.POISON_JAB]: ModifierTier.GREAT, - [MoveId.DARK_PULSE]: ModifierTier.GREAT, - [MoveId.AQUA_TAIL]: ModifierTier.GREAT, - [MoveId.SEED_BOMB]: ModifierTier.GREAT, - [MoveId.AIR_SLASH]: ModifierTier.GREAT, - [MoveId.X_SCISSOR]: ModifierTier.GREAT, - [MoveId.BUG_BUZZ]: ModifierTier.GREAT, - [MoveId.DRAGON_PULSE]: ModifierTier.GREAT, - [MoveId.POWER_GEM]: ModifierTier.GREAT, - [MoveId.DRAIN_PUNCH]: ModifierTier.GREAT, - [MoveId.VACUUM_WAVE]: ModifierTier.COMMON, - [MoveId.FOCUS_BLAST]: ModifierTier.GREAT, - [MoveId.ENERGY_BALL]: ModifierTier.GREAT, - [MoveId.BRAVE_BIRD]: ModifierTier.ULTRA, - [MoveId.EARTH_POWER]: ModifierTier.ULTRA, - [MoveId.GIGA_IMPACT]: ModifierTier.GREAT, - [MoveId.NASTY_PLOT]: ModifierTier.COMMON, - [MoveId.AVALANCHE]: ModifierTier.GREAT, - [MoveId.SHADOW_CLAW]: ModifierTier.GREAT, - [MoveId.THUNDER_FANG]: ModifierTier.GREAT, - [MoveId.ICE_FANG]: ModifierTier.GREAT, - [MoveId.FIRE_FANG]: ModifierTier.GREAT, - [MoveId.PSYCHO_CUT]: ModifierTier.GREAT, - [MoveId.ZEN_HEADBUTT]: ModifierTier.GREAT, - [MoveId.FLASH_CANNON]: ModifierTier.GREAT, - [MoveId.ROCK_CLIMB]: ModifierTier.GREAT, - [MoveId.DEFOG]: ModifierTier.COMMON, - [MoveId.TRICK_ROOM]: ModifierTier.COMMON, - [MoveId.DRACO_METEOR]: ModifierTier.ULTRA, - [MoveId.LEAF_STORM]: ModifierTier.ULTRA, - [MoveId.POWER_WHIP]: ModifierTier.ULTRA, - [MoveId.CROSS_POISON]: ModifierTier.GREAT, - [MoveId.GUNK_SHOT]: ModifierTier.ULTRA, - [MoveId.IRON_HEAD]: ModifierTier.GREAT, - [MoveId.STONE_EDGE]: ModifierTier.ULTRA, - [MoveId.STEALTH_ROCK]: ModifierTier.COMMON, - [MoveId.GRASS_KNOT]: ModifierTier.ULTRA, - [MoveId.BUG_BITE]: ModifierTier.GREAT, - [MoveId.CHARGE_BEAM]: ModifierTier.GREAT, - [MoveId.HONE_CLAWS]: ModifierTier.COMMON, - [MoveId.WONDER_ROOM]: ModifierTier.COMMON, - [MoveId.PSYSHOCK]: ModifierTier.GREAT, - [MoveId.VENOSHOCK]: ModifierTier.GREAT, - [MoveId.MAGIC_ROOM]: ModifierTier.COMMON, - [MoveId.SMACK_DOWN]: ModifierTier.COMMON, - [MoveId.SLUDGE_WAVE]: ModifierTier.GREAT, - [MoveId.HEAVY_SLAM]: ModifierTier.GREAT, - [MoveId.ELECTRO_BALL]: ModifierTier.GREAT, - [MoveId.FLAME_CHARGE]: ModifierTier.GREAT, - [MoveId.LOW_SWEEP]: ModifierTier.GREAT, - [MoveId.ACID_SPRAY]: ModifierTier.COMMON, - [MoveId.FOUL_PLAY]: ModifierTier.ULTRA, - [MoveId.ROUND]: ModifierTier.COMMON, - [MoveId.ECHOED_VOICE]: ModifierTier.COMMON, - [MoveId.STORED_POWER]: ModifierTier.COMMON, - [MoveId.ALLY_SWITCH]: ModifierTier.COMMON, - [MoveId.SCALD]: ModifierTier.GREAT, - [MoveId.HEX]: ModifierTier.GREAT, - [MoveId.SKY_DROP]: ModifierTier.GREAT, - [MoveId.INCINERATE]: ModifierTier.GREAT, - [MoveId.QUASH]: ModifierTier.COMMON, - [MoveId.ACROBATICS]: ModifierTier.GREAT, - [MoveId.RETALIATE]: ModifierTier.GREAT, - [MoveId.WATER_PLEDGE]: ModifierTier.GREAT, - [MoveId.FIRE_PLEDGE]: ModifierTier.GREAT, - [MoveId.GRASS_PLEDGE]: ModifierTier.GREAT, - [MoveId.VOLT_SWITCH]: ModifierTier.GREAT, - [MoveId.STRUGGLE_BUG]: ModifierTier.COMMON, - [MoveId.BULLDOZE]: ModifierTier.GREAT, - [MoveId.FROST_BREATH]: ModifierTier.GREAT, - [MoveId.DRAGON_TAIL]: ModifierTier.GREAT, - [MoveId.WORK_UP]: ModifierTier.COMMON, - [MoveId.ELECTROWEB]: ModifierTier.GREAT, - [MoveId.WILD_CHARGE]: ModifierTier.GREAT, - [MoveId.DRILL_RUN]: ModifierTier.GREAT, - [MoveId.RAZOR_SHELL]: ModifierTier.GREAT, - [MoveId.HEAT_CRASH]: ModifierTier.GREAT, - [MoveId.TAIL_SLAP]: ModifierTier.GREAT, - [MoveId.HURRICANE]: ModifierTier.ULTRA, - [MoveId.SNARL]: ModifierTier.COMMON, - [MoveId.PHANTOM_FORCE]: ModifierTier.ULTRA, - [MoveId.PETAL_BLIZZARD]: ModifierTier.GREAT, - [MoveId.DISARMING_VOICE]: ModifierTier.GREAT, - [MoveId.DRAINING_KISS]: ModifierTier.GREAT, - [MoveId.GRASSY_TERRAIN]: ModifierTier.COMMON, - [MoveId.MISTY_TERRAIN]: ModifierTier.COMMON, - [MoveId.PLAY_ROUGH]: ModifierTier.GREAT, - [MoveId.CONFIDE]: ModifierTier.COMMON, - [MoveId.MYSTICAL_FIRE]: ModifierTier.GREAT, - [MoveId.EERIE_IMPULSE]: ModifierTier.COMMON, - [MoveId.VENOM_DRENCH]: ModifierTier.COMMON, - [MoveId.ELECTRIC_TERRAIN]: ModifierTier.COMMON, - [MoveId.DAZZLING_GLEAM]: ModifierTier.ULTRA, - [MoveId.INFESTATION]: ModifierTier.COMMON, - [MoveId.POWER_UP_PUNCH]: ModifierTier.GREAT, - [MoveId.DARKEST_LARIAT]: ModifierTier.GREAT, - [MoveId.HIGH_HORSEPOWER]: ModifierTier.ULTRA, - [MoveId.SOLAR_BLADE]: ModifierTier.GREAT, - [MoveId.THROAT_CHOP]: ModifierTier.GREAT, - [MoveId.POLLEN_PUFF]: ModifierTier.GREAT, - [MoveId.PSYCHIC_TERRAIN]: ModifierTier.COMMON, - [MoveId.LUNGE]: ModifierTier.GREAT, - [MoveId.SPEED_SWAP]: ModifierTier.COMMON, - [MoveId.SMART_STRIKE]: ModifierTier.GREAT, - [MoveId.BRUTAL_SWING]: ModifierTier.GREAT, - [MoveId.AURORA_VEIL]: ModifierTier.COMMON, - [MoveId.PSYCHIC_FANGS]: ModifierTier.GREAT, - [MoveId.STOMPING_TANTRUM]: ModifierTier.GREAT, - [MoveId.LIQUIDATION]: ModifierTier.ULTRA, - [MoveId.BODY_PRESS]: ModifierTier.ULTRA, - [MoveId.BREAKING_SWIPE]: ModifierTier.GREAT, - [MoveId.STEEL_BEAM]: ModifierTier.ULTRA, - [MoveId.EXPANDING_FORCE]: ModifierTier.GREAT, - [MoveId.STEEL_ROLLER]: ModifierTier.COMMON, - [MoveId.SCALE_SHOT]: ModifierTier.ULTRA, - [MoveId.METEOR_BEAM]: ModifierTier.GREAT, - [MoveId.MISTY_EXPLOSION]: ModifierTier.COMMON, - [MoveId.GRASSY_GLIDE]: ModifierTier.COMMON, - [MoveId.RISING_VOLTAGE]: ModifierTier.COMMON, - [MoveId.TERRAIN_PULSE]: ModifierTier.COMMON, - [MoveId.SKITTER_SMACK]: ModifierTier.GREAT, - [MoveId.BURNING_JEALOUSY]: ModifierTier.GREAT, - [MoveId.LASH_OUT]: ModifierTier.GREAT, - [MoveId.POLTERGEIST]: ModifierTier.ULTRA, - [MoveId.CORROSIVE_GAS]: ModifierTier.COMMON, - [MoveId.COACHING]: ModifierTier.COMMON, - [MoveId.FLIP_TURN]: ModifierTier.COMMON, - [MoveId.TRIPLE_AXEL]: ModifierTier.COMMON, - [MoveId.DUAL_WINGBEAT]: ModifierTier.COMMON, - [MoveId.SCORCHING_SANDS]: ModifierTier.GREAT, - [MoveId.TERA_BLAST]: ModifierTier.GREAT, - [MoveId.ICE_SPINNER]: ModifierTier.GREAT, - [MoveId.SNOWSCAPE]: ModifierTier.COMMON, - [MoveId.POUNCE]: ModifierTier.COMMON, - [MoveId.TRAILBLAZE]: ModifierTier.COMMON, - [MoveId.CHILLING_WATER]: ModifierTier.COMMON, - [MoveId.HARD_PRESS]: ModifierTier.GREAT, - [MoveId.DRAGON_CHEER]: ModifierTier.COMMON, - [MoveId.ALLURING_VOICE]: ModifierTier.GREAT, - [MoveId.TEMPER_FLARE]: ModifierTier.GREAT, - [MoveId.SUPERCELL_SLAM]: ModifierTier.GREAT, - [MoveId.PSYCHIC_NOISE]: ModifierTier.GREAT, - [MoveId.UPPER_HAND]: ModifierTier.COMMON, + [MoveId.MEGA_PUNCH]: RewardTier.GREAT, + [MoveId.PAY_DAY]: RewardTier.ULTRA, + [MoveId.FIRE_PUNCH]: RewardTier.GREAT, + [MoveId.ICE_PUNCH]: RewardTier.GREAT, + [MoveId.THUNDER_PUNCH]: RewardTier.GREAT, + [MoveId.SWORDS_DANCE]: RewardTier.COMMON, + [MoveId.CUT]: RewardTier.COMMON, + [MoveId.FLY]: RewardTier.COMMON, + [MoveId.MEGA_KICK]: RewardTier.GREAT, + [MoveId.BODY_SLAM]: RewardTier.GREAT, + [MoveId.TAKE_DOWN]: RewardTier.GREAT, + [MoveId.DOUBLE_EDGE]: RewardTier.ULTRA, + [MoveId.PIN_MISSILE]: RewardTier.COMMON, + [MoveId.ROAR]: RewardTier.COMMON, + [MoveId.FLAMETHROWER]: RewardTier.ULTRA, + [MoveId.HYDRO_PUMP]: RewardTier.ULTRA, + [MoveId.SURF]: RewardTier.ULTRA, + [MoveId.ICE_BEAM]: RewardTier.ULTRA, + [MoveId.BLIZZARD]: RewardTier.ULTRA, + [MoveId.PSYBEAM]: RewardTier.GREAT, + [MoveId.HYPER_BEAM]: RewardTier.ULTRA, + [MoveId.LOW_KICK]: RewardTier.COMMON, + [MoveId.COUNTER]: RewardTier.COMMON, + [MoveId.STRENGTH]: RewardTier.GREAT, + [MoveId.SOLAR_BEAM]: RewardTier.ULTRA, + [MoveId.FIRE_SPIN]: RewardTier.COMMON, + [MoveId.THUNDERBOLT]: RewardTier.ULTRA, + [MoveId.THUNDER_WAVE]: RewardTier.COMMON, + [MoveId.THUNDER]: RewardTier.ULTRA, + [MoveId.EARTHQUAKE]: RewardTier.ULTRA, + [MoveId.DIG]: RewardTier.GREAT, + [MoveId.TOXIC]: RewardTier.GREAT, + [MoveId.PSYCHIC]: RewardTier.ULTRA, + [MoveId.AGILITY]: RewardTier.COMMON, + [MoveId.NIGHT_SHADE]: RewardTier.COMMON, + [MoveId.SCREECH]: RewardTier.COMMON, + [MoveId.DOUBLE_TEAM]: RewardTier.COMMON, + [MoveId.CONFUSE_RAY]: RewardTier.COMMON, + [MoveId.LIGHT_SCREEN]: RewardTier.COMMON, + [MoveId.HAZE]: RewardTier.COMMON, + [MoveId.REFLECT]: RewardTier.COMMON, + [MoveId.FOCUS_ENERGY]: RewardTier.COMMON, + [MoveId.METRONOME]: RewardTier.COMMON, + [MoveId.SELF_DESTRUCT]: RewardTier.GREAT, + [MoveId.FIRE_BLAST]: RewardTier.ULTRA, + [MoveId.WATERFALL]: RewardTier.GREAT, + [MoveId.SWIFT]: RewardTier.COMMON, + [MoveId.AMNESIA]: RewardTier.COMMON, + [MoveId.DREAM_EATER]: RewardTier.GREAT, + [MoveId.LEECH_LIFE]: RewardTier.ULTRA, + [MoveId.FLASH]: RewardTier.COMMON, + [MoveId.EXPLOSION]: RewardTier.GREAT, + [MoveId.REST]: RewardTier.COMMON, + [MoveId.ROCK_SLIDE]: RewardTier.GREAT, + [MoveId.TRI_ATTACK]: RewardTier.ULTRA, + [MoveId.SUPER_FANG]: RewardTier.COMMON, + [MoveId.SUBSTITUTE]: RewardTier.COMMON, + [MoveId.THIEF]: RewardTier.GREAT, + [MoveId.SNORE]: RewardTier.COMMON, + [MoveId.CURSE]: RewardTier.COMMON, + [MoveId.REVERSAL]: RewardTier.COMMON, + [MoveId.SPITE]: RewardTier.COMMON, + [MoveId.PROTECT]: RewardTier.COMMON, + [MoveId.SCARY_FACE]: RewardTier.COMMON, + [MoveId.SLUDGE_BOMB]: RewardTier.GREAT, + [MoveId.MUD_SLAP]: RewardTier.COMMON, + [MoveId.SPIKES]: RewardTier.COMMON, + [MoveId.ICY_WIND]: RewardTier.GREAT, + [MoveId.OUTRAGE]: RewardTier.ULTRA, + [MoveId.SANDSTORM]: RewardTier.COMMON, + [MoveId.GIGA_DRAIN]: RewardTier.ULTRA, + [MoveId.ENDURE]: RewardTier.COMMON, + [MoveId.CHARM]: RewardTier.COMMON, + [MoveId.FALSE_SWIPE]: RewardTier.COMMON, + [MoveId.SWAGGER]: RewardTier.COMMON, + [MoveId.STEEL_WING]: RewardTier.GREAT, + [MoveId.ATTRACT]: RewardTier.COMMON, + [MoveId.SLEEP_TALK]: RewardTier.COMMON, + [MoveId.HEAL_BELL]: RewardTier.COMMON, + [MoveId.RETURN]: RewardTier.ULTRA, + [MoveId.FRUSTRATION]: RewardTier.COMMON, + [MoveId.SAFEGUARD]: RewardTier.COMMON, + [MoveId.PAIN_SPLIT]: RewardTier.COMMON, + [MoveId.MEGAHORN]: RewardTier.ULTRA, + [MoveId.BATON_PASS]: RewardTier.COMMON, + [MoveId.ENCORE]: RewardTier.COMMON, + [MoveId.IRON_TAIL]: RewardTier.GREAT, + [MoveId.METAL_CLAW]: RewardTier.COMMON, + [MoveId.SYNTHESIS]: RewardTier.GREAT, + [MoveId.HIDDEN_POWER]: RewardTier.GREAT, + [MoveId.RAIN_DANCE]: RewardTier.COMMON, + [MoveId.SUNNY_DAY]: RewardTier.COMMON, + [MoveId.CRUNCH]: RewardTier.GREAT, + [MoveId.PSYCH_UP]: RewardTier.COMMON, + [MoveId.SHADOW_BALL]: RewardTier.ULTRA, + [MoveId.FUTURE_SIGHT]: RewardTier.GREAT, + [MoveId.ROCK_SMASH]: RewardTier.COMMON, + [MoveId.WHIRLPOOL]: RewardTier.COMMON, + [MoveId.BEAT_UP]: RewardTier.COMMON, + [MoveId.UPROAR]: RewardTier.GREAT, + [MoveId.HEAT_WAVE]: RewardTier.ULTRA, + [MoveId.HAIL]: RewardTier.COMMON, + [MoveId.TORMENT]: RewardTier.COMMON, + [MoveId.WILL_O_WISP]: RewardTier.COMMON, + [MoveId.FACADE]: RewardTier.GREAT, + [MoveId.FOCUS_PUNCH]: RewardTier.COMMON, + [MoveId.NATURE_POWER]: RewardTier.COMMON, + [MoveId.CHARGE]: RewardTier.COMMON, + [MoveId.TAUNT]: RewardTier.COMMON, + [MoveId.HELPING_HAND]: RewardTier.COMMON, + [MoveId.TRICK]: RewardTier.COMMON, + [MoveId.SUPERPOWER]: RewardTier.ULTRA, + [MoveId.RECYCLE]: RewardTier.COMMON, + [MoveId.REVENGE]: RewardTier.GREAT, + [MoveId.BRICK_BREAK]: RewardTier.GREAT, + [MoveId.KNOCK_OFF]: RewardTier.GREAT, + [MoveId.ENDEAVOR]: RewardTier.COMMON, + [MoveId.SKILL_SWAP]: RewardTier.COMMON, + [MoveId.IMPRISON]: RewardTier.COMMON, + [MoveId.SECRET_POWER]: RewardTier.COMMON, + [MoveId.DIVE]: RewardTier.GREAT, + [MoveId.FEATHER_DANCE]: RewardTier.COMMON, + [MoveId.BLAZE_KICK]: RewardTier.GREAT, + [MoveId.HYPER_VOICE]: RewardTier.ULTRA, + [MoveId.BLAST_BURN]: RewardTier.ULTRA, + [MoveId.HYDRO_CANNON]: RewardTier.ULTRA, + [MoveId.WEATHER_BALL]: RewardTier.COMMON, + [MoveId.FAKE_TEARS]: RewardTier.COMMON, + [MoveId.AIR_CUTTER]: RewardTier.GREAT, + [MoveId.OVERHEAT]: RewardTier.ULTRA, + [MoveId.ROCK_TOMB]: RewardTier.GREAT, + [MoveId.METAL_SOUND]: RewardTier.COMMON, + [MoveId.COSMIC_POWER]: RewardTier.COMMON, + [MoveId.SIGNAL_BEAM]: RewardTier.GREAT, + [MoveId.SAND_TOMB]: RewardTier.COMMON, + [MoveId.MUDDY_WATER]: RewardTier.GREAT, + [MoveId.BULLET_SEED]: RewardTier.GREAT, + [MoveId.AERIAL_ACE]: RewardTier.GREAT, + [MoveId.ICICLE_SPEAR]: RewardTier.GREAT, + [MoveId.IRON_DEFENSE]: RewardTier.GREAT, + [MoveId.DRAGON_CLAW]: RewardTier.ULTRA, + [MoveId.FRENZY_PLANT]: RewardTier.ULTRA, + [MoveId.BULK_UP]: RewardTier.COMMON, + [MoveId.BOUNCE]: RewardTier.GREAT, + [MoveId.MUD_SHOT]: RewardTier.GREAT, + [MoveId.POISON_TAIL]: RewardTier.GREAT, + [MoveId.COVET]: RewardTier.GREAT, + [MoveId.MAGICAL_LEAF]: RewardTier.GREAT, + [MoveId.CALM_MIND]: RewardTier.GREAT, + [MoveId.LEAF_BLADE]: RewardTier.ULTRA, + [MoveId.DRAGON_DANCE]: RewardTier.GREAT, + [MoveId.ROCK_BLAST]: RewardTier.GREAT, + [MoveId.WATER_PULSE]: RewardTier.GREAT, + [MoveId.ROOST]: RewardTier.GREAT, + [MoveId.GRAVITY]: RewardTier.COMMON, + [MoveId.GYRO_BALL]: RewardTier.COMMON, + [MoveId.BRINE]: RewardTier.GREAT, + [MoveId.PLUCK]: RewardTier.GREAT, + [MoveId.TAILWIND]: RewardTier.GREAT, + [MoveId.U_TURN]: RewardTier.GREAT, + [MoveId.CLOSE_COMBAT]: RewardTier.ULTRA, + [MoveId.PAYBACK]: RewardTier.COMMON, + [MoveId.ASSURANCE]: RewardTier.COMMON, + [MoveId.EMBARGO]: RewardTier.COMMON, + [MoveId.FLING]: RewardTier.COMMON, + [MoveId.GASTRO_ACID]: RewardTier.GREAT, + [MoveId.POWER_SWAP]: RewardTier.COMMON, + [MoveId.GUARD_SWAP]: RewardTier.COMMON, + [MoveId.WORRY_SEED]: RewardTier.GREAT, + [MoveId.TOXIC_SPIKES]: RewardTier.GREAT, + [MoveId.FLARE_BLITZ]: RewardTier.ULTRA, + [MoveId.AURA_SPHERE]: RewardTier.GREAT, + [MoveId.ROCK_POLISH]: RewardTier.COMMON, + [MoveId.POISON_JAB]: RewardTier.GREAT, + [MoveId.DARK_PULSE]: RewardTier.GREAT, + [MoveId.AQUA_TAIL]: RewardTier.GREAT, + [MoveId.SEED_BOMB]: RewardTier.GREAT, + [MoveId.AIR_SLASH]: RewardTier.GREAT, + [MoveId.X_SCISSOR]: RewardTier.GREAT, + [MoveId.BUG_BUZZ]: RewardTier.GREAT, + [MoveId.DRAGON_PULSE]: RewardTier.GREAT, + [MoveId.POWER_GEM]: RewardTier.GREAT, + [MoveId.DRAIN_PUNCH]: RewardTier.GREAT, + [MoveId.VACUUM_WAVE]: RewardTier.COMMON, + [MoveId.FOCUS_BLAST]: RewardTier.GREAT, + [MoveId.ENERGY_BALL]: RewardTier.GREAT, + [MoveId.BRAVE_BIRD]: RewardTier.ULTRA, + [MoveId.EARTH_POWER]: RewardTier.ULTRA, + [MoveId.GIGA_IMPACT]: RewardTier.GREAT, + [MoveId.NASTY_PLOT]: RewardTier.COMMON, + [MoveId.AVALANCHE]: RewardTier.GREAT, + [MoveId.SHADOW_CLAW]: RewardTier.GREAT, + [MoveId.THUNDER_FANG]: RewardTier.GREAT, + [MoveId.ICE_FANG]: RewardTier.GREAT, + [MoveId.FIRE_FANG]: RewardTier.GREAT, + [MoveId.PSYCHO_CUT]: RewardTier.GREAT, + [MoveId.ZEN_HEADBUTT]: RewardTier.GREAT, + [MoveId.FLASH_CANNON]: RewardTier.GREAT, + [MoveId.ROCK_CLIMB]: RewardTier.GREAT, + [MoveId.DEFOG]: RewardTier.COMMON, + [MoveId.TRICK_ROOM]: RewardTier.COMMON, + [MoveId.DRACO_METEOR]: RewardTier.ULTRA, + [MoveId.LEAF_STORM]: RewardTier.ULTRA, + [MoveId.POWER_WHIP]: RewardTier.ULTRA, + [MoveId.CROSS_POISON]: RewardTier.GREAT, + [MoveId.GUNK_SHOT]: RewardTier.ULTRA, + [MoveId.IRON_HEAD]: RewardTier.GREAT, + [MoveId.STONE_EDGE]: RewardTier.ULTRA, + [MoveId.STEALTH_ROCK]: RewardTier.COMMON, + [MoveId.GRASS_KNOT]: RewardTier.ULTRA, + [MoveId.BUG_BITE]: RewardTier.GREAT, + [MoveId.CHARGE_BEAM]: RewardTier.GREAT, + [MoveId.HONE_CLAWS]: RewardTier.COMMON, + [MoveId.WONDER_ROOM]: RewardTier.COMMON, + [MoveId.PSYSHOCK]: RewardTier.GREAT, + [MoveId.VENOSHOCK]: RewardTier.GREAT, + [MoveId.MAGIC_ROOM]: RewardTier.COMMON, + [MoveId.SMACK_DOWN]: RewardTier.COMMON, + [MoveId.SLUDGE_WAVE]: RewardTier.GREAT, + [MoveId.HEAVY_SLAM]: RewardTier.GREAT, + [MoveId.ELECTRO_BALL]: RewardTier.GREAT, + [MoveId.FLAME_CHARGE]: RewardTier.GREAT, + [MoveId.LOW_SWEEP]: RewardTier.GREAT, + [MoveId.ACID_SPRAY]: RewardTier.COMMON, + [MoveId.FOUL_PLAY]: RewardTier.ULTRA, + [MoveId.ROUND]: RewardTier.COMMON, + [MoveId.ECHOED_VOICE]: RewardTier.COMMON, + [MoveId.STORED_POWER]: RewardTier.COMMON, + [MoveId.ALLY_SWITCH]: RewardTier.COMMON, + [MoveId.SCALD]: RewardTier.GREAT, + [MoveId.HEX]: RewardTier.GREAT, + [MoveId.SKY_DROP]: RewardTier.GREAT, + [MoveId.INCINERATE]: RewardTier.GREAT, + [MoveId.QUASH]: RewardTier.COMMON, + [MoveId.ACROBATICS]: RewardTier.GREAT, + [MoveId.RETALIATE]: RewardTier.GREAT, + [MoveId.WATER_PLEDGE]: RewardTier.GREAT, + [MoveId.FIRE_PLEDGE]: RewardTier.GREAT, + [MoveId.GRASS_PLEDGE]: RewardTier.GREAT, + [MoveId.VOLT_SWITCH]: RewardTier.GREAT, + [MoveId.STRUGGLE_BUG]: RewardTier.COMMON, + [MoveId.BULLDOZE]: RewardTier.GREAT, + [MoveId.FROST_BREATH]: RewardTier.GREAT, + [MoveId.DRAGON_TAIL]: RewardTier.GREAT, + [MoveId.WORK_UP]: RewardTier.COMMON, + [MoveId.ELECTROWEB]: RewardTier.GREAT, + [MoveId.WILD_CHARGE]: RewardTier.GREAT, + [MoveId.DRILL_RUN]: RewardTier.GREAT, + [MoveId.RAZOR_SHELL]: RewardTier.GREAT, + [MoveId.HEAT_CRASH]: RewardTier.GREAT, + [MoveId.TAIL_SLAP]: RewardTier.GREAT, + [MoveId.HURRICANE]: RewardTier.ULTRA, + [MoveId.SNARL]: RewardTier.COMMON, + [MoveId.PHANTOM_FORCE]: RewardTier.ULTRA, + [MoveId.PETAL_BLIZZARD]: RewardTier.GREAT, + [MoveId.DISARMING_VOICE]: RewardTier.GREAT, + [MoveId.DRAINING_KISS]: RewardTier.GREAT, + [MoveId.GRASSY_TERRAIN]: RewardTier.COMMON, + [MoveId.MISTY_TERRAIN]: RewardTier.COMMON, + [MoveId.PLAY_ROUGH]: RewardTier.GREAT, + [MoveId.CONFIDE]: RewardTier.COMMON, + [MoveId.MYSTICAL_FIRE]: RewardTier.GREAT, + [MoveId.EERIE_IMPULSE]: RewardTier.COMMON, + [MoveId.VENOM_DRENCH]: RewardTier.COMMON, + [MoveId.ELECTRIC_TERRAIN]: RewardTier.COMMON, + [MoveId.DAZZLING_GLEAM]: RewardTier.ULTRA, + [MoveId.INFESTATION]: RewardTier.COMMON, + [MoveId.POWER_UP_PUNCH]: RewardTier.GREAT, + [MoveId.DARKEST_LARIAT]: RewardTier.GREAT, + [MoveId.HIGH_HORSEPOWER]: RewardTier.ULTRA, + [MoveId.SOLAR_BLADE]: RewardTier.GREAT, + [MoveId.THROAT_CHOP]: RewardTier.GREAT, + [MoveId.POLLEN_PUFF]: RewardTier.GREAT, + [MoveId.PSYCHIC_TERRAIN]: RewardTier.COMMON, + [MoveId.LUNGE]: RewardTier.GREAT, + [MoveId.SPEED_SWAP]: RewardTier.COMMON, + [MoveId.SMART_STRIKE]: RewardTier.GREAT, + [MoveId.BRUTAL_SWING]: RewardTier.GREAT, + [MoveId.AURORA_VEIL]: RewardTier.COMMON, + [MoveId.PSYCHIC_FANGS]: RewardTier.GREAT, + [MoveId.STOMPING_TANTRUM]: RewardTier.GREAT, + [MoveId.LIQUIDATION]: RewardTier.ULTRA, + [MoveId.BODY_PRESS]: RewardTier.ULTRA, + [MoveId.BREAKING_SWIPE]: RewardTier.GREAT, + [MoveId.STEEL_BEAM]: RewardTier.ULTRA, + [MoveId.EXPANDING_FORCE]: RewardTier.GREAT, + [MoveId.STEEL_ROLLER]: RewardTier.COMMON, + [MoveId.SCALE_SHOT]: RewardTier.ULTRA, + [MoveId.METEOR_BEAM]: RewardTier.GREAT, + [MoveId.MISTY_EXPLOSION]: RewardTier.COMMON, + [MoveId.GRASSY_GLIDE]: RewardTier.COMMON, + [MoveId.RISING_VOLTAGE]: RewardTier.COMMON, + [MoveId.TERRAIN_PULSE]: RewardTier.COMMON, + [MoveId.SKITTER_SMACK]: RewardTier.GREAT, + [MoveId.BURNING_JEALOUSY]: RewardTier.GREAT, + [MoveId.LASH_OUT]: RewardTier.GREAT, + [MoveId.POLTERGEIST]: RewardTier.ULTRA, + [MoveId.CORROSIVE_GAS]: RewardTier.COMMON, + [MoveId.COACHING]: RewardTier.COMMON, + [MoveId.FLIP_TURN]: RewardTier.COMMON, + [MoveId.TRIPLE_AXEL]: RewardTier.COMMON, + [MoveId.DUAL_WINGBEAT]: RewardTier.COMMON, + [MoveId.SCORCHING_SANDS]: RewardTier.GREAT, + [MoveId.TERA_BLAST]: RewardTier.GREAT, + [MoveId.ICE_SPINNER]: RewardTier.GREAT, + [MoveId.SNOWSCAPE]: RewardTier.COMMON, + [MoveId.POUNCE]: RewardTier.COMMON, + [MoveId.TRAILBLAZE]: RewardTier.COMMON, + [MoveId.CHILLING_WATER]: RewardTier.COMMON, + [MoveId.HARD_PRESS]: RewardTier.GREAT, + [MoveId.DRAGON_CHEER]: RewardTier.COMMON, + [MoveId.ALLURING_VOICE]: RewardTier.GREAT, + [MoveId.TEMPER_FLARE]: RewardTier.GREAT, + [MoveId.SUPERCELL_SLAM]: RewardTier.GREAT, + [MoveId.PSYCHIC_NOISE]: RewardTier.GREAT, + [MoveId.UPPER_HAND]: RewardTier.COMMON, }; diff --git a/src/data/challenge.ts b/src/data/challenge.ts index 3fdd83c185d..09b00f1af2c 100644 --- a/src/data/challenge.ts +++ b/src/data/challenge.ts @@ -22,7 +22,7 @@ import { TrainerType } from "#enums/trainer-type"; import { Nature } from "#enums/nature"; import type { MoveId } from "#enums/move-id"; import { TypeColor, TypeShadow } from "#enums/color"; -import { ModifierTier } from "#enums/modifier-tier"; +import { RewardTier } from "#enums/reward-tier"; import { globalScene } from "#app/global-scene"; import { pokemonFormChanges } from "./pokemon-forms"; import { pokemonEvolutions } from "./balance/pokemon-evolutions"; @@ -459,11 +459,11 @@ export class SingleGenerationChallenge extends Challenge { .setGetTrainerFunc(getRandomTrainerFunc(trainerTypes, true)) .setCustomModifierRewards({ guaranteedModifierTiers: [ - ModifierTier.ROGUE, - ModifierTier.ROGUE, - ModifierTier.ULTRA, - ModifierTier.ULTRA, - ModifierTier.ULTRA, + RewardTier.ROGUE, + RewardTier.ROGUE, + RewardTier.ULTRA, + RewardTier.ULTRA, + RewardTier.ULTRA, ], allowLuckUpgrades: false, }); @@ -476,12 +476,12 @@ export class SingleGenerationChallenge extends Challenge { .setGetTrainerFunc(getRandomTrainerFunc(trainerTypes, true)) .setCustomModifierRewards({ guaranteedModifierTiers: [ - ModifierTier.ROGUE, - ModifierTier.ROGUE, - ModifierTier.ULTRA, - ModifierTier.ULTRA, - ModifierTier.ULTRA, - ModifierTier.ULTRA, + RewardTier.ROGUE, + RewardTier.ROGUE, + RewardTier.ULTRA, + RewardTier.ULTRA, + RewardTier.ULTRA, + RewardTier.ULTRA, ], allowLuckUpgrades: false, }); diff --git a/src/data/mystery-encounters/encounters/a-trainers-test-encounter.ts b/src/data/mystery-encounters/encounters/a-trainers-test-encounter.ts index 7a1c9821e89..4c88add526a 100644 --- a/src/data/mystery-encounters/encounters/a-trainers-test-encounter.ts +++ b/src/data/mystery-encounters/encounters/a-trainers-test-encounter.ts @@ -19,7 +19,7 @@ import i18next from "i18next"; import type { IEggOptions } from "#app/data/egg"; import { EggSourceType } from "#enums/egg-source-types"; import { EggTier } from "#enums/egg-type"; -import { ModifierTier } from "#enums/modifier-tier"; +import { RewardTier } from "#enums/reward-tier"; import { modifierTypes } from "#app/data/data-lists"; import { CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES } from "#app/constants"; @@ -165,7 +165,7 @@ export const ATrainersTestEncounter: MysteryEncounter = MysteryEncounterBuilder. setEncounterRewards( { guaranteedModifierTypeFuncs: [modifierTypes.SACRED_ASH], - guaranteedModifierTiers: [ModifierTier.ROGUE, ModifierTier.ULTRA], + guaranteedModifierTiers: [RewardTier.ROGUE, RewardTier.ULTRA], fillRemaining: true, }, [eggOptions], diff --git a/src/data/mystery-encounters/encounters/bug-type-superfan-encounter.ts b/src/data/mystery-encounters/encounters/bug-type-superfan-encounter.ts index d0b5920d842..6937945eeca 100644 --- a/src/data/mystery-encounters/encounters/bug-type-superfan-encounter.ts +++ b/src/data/mystery-encounters/encounters/bug-type-superfan-encounter.ts @@ -41,7 +41,7 @@ import { GigantamaxAccessModifier, MegaEvolutionAccessModifier } from "#app/modi import i18next from "i18next"; import MoveInfoOverlay from "#app/ui/move-info-overlay"; import { allMoves } from "#app/data/data-lists"; -import { ModifierTier } from "#enums/modifier-tier"; +import { RewardTier } from "#enums/reward-tier"; import { CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES } from "#app/constants"; import { getSpriteKeysFromSpecies } from "#app/data/mystery-encounters/utils/encounter-pokemon-utils"; import { HeldItemId } from "#enums/held-item-id"; @@ -470,7 +470,7 @@ export const BugTypeSuperfanEncounter: MysteryEncounter = MysteryEncounterBuilde globalScene.updateModifiers(true); const bugNet = generateModifierTypeOption(modifierTypes.MYSTERY_ENCOUNTER_GOLDEN_BUG_NET)!; - bugNet.type.tier = ModifierTier.ROGUE; + bugNet.type.tier = RewardTier.ROGUE; setEncounterRewards({ guaranteedModifierTypeOptions: [bugNet], diff --git a/src/data/mystery-encounters/encounters/clowning-around-encounter.ts b/src/data/mystery-encounters/encounters/clowning-around-encounter.ts index 9bdaa603540..f60ada2c6e9 100644 --- a/src/data/mystery-encounters/encounters/clowning-around-encounter.ts +++ b/src/data/mystery-encounters/encounters/clowning-around-encounter.ts @@ -11,7 +11,7 @@ import { import { trainerConfigs } from "#app/data/trainers/trainer-config"; import { TrainerPartyCompoundTemplate } from "#app/data/trainers/TrainerPartyTemplate"; import { TrainerPartyTemplate } from "#app/data/trainers/TrainerPartyTemplate"; -import { ModifierTier } from "#enums/modifier-tier"; +import { RewardTier } from "#enums/reward-tier"; import type { PokemonHeldItemModifierType } from "#app/modifier/modifier-type"; import { ModifierPoolType } from "#enums/modifier-pool-type"; import { MysteryEncounterType } from "#enums/mystery-encounter-type"; @@ -320,18 +320,18 @@ export const ClowningAroundEncounter: MysteryEncounter = MysteryEncounterBuilder for (const m of items.filter(m => m.isTransferable && !(m instanceof BerryModifier))) { const type = m.type.withTierFromPool(ModifierPoolType.PLAYER, party); - const tier = type.tier ?? ModifierTier.ULTRA; - if (type.id === "GOLDEN_EGG" || tier === ModifierTier.ROGUE) { + const tier = type.tier ?? RewardTier.ULTRA; + if (type.id === "GOLDEN_EGG" || tier === RewardTier.ROGUE) { numRogue += m.stackCount; globalScene.removeModifier(m); - } else if (type.id === "LUCKY_EGG" || type.id === "SOOTHE_BELL" || tier === ModifierTier.ULTRA) { + } else if (type.id === "LUCKY_EGG" || type.id === "SOOTHE_BELL" || tier === RewardTier.ULTRA) { numUltra += m.stackCount; globalScene.removeModifier(m); } } - generateItemsOfTier(mostHeldItemsPokemon, numUltra, ModifierTier.ULTRA); - generateItemsOfTier(mostHeldItemsPokemon, numRogue, ModifierTier.ROGUE); + generateItemsOfTier(mostHeldItemsPokemon, numUltra, RewardTier.ULTRA); + generateItemsOfTier(mostHeldItemsPokemon, numRogue, RewardTier.ROGUE); }) .withOptionPhase(async () => { leaveEncounterWithoutBattle(true); @@ -487,7 +487,7 @@ function onYesAbilitySwap(resolve) { selectPokemonForOption(onPokemonSelected, onPokemonNotSelected); } -function generateItemsOfTier(pokemon: PlayerPokemon, numItems: number, tier: ModifierTier | "Berries") { +function generateItemsOfTier(pokemon: PlayerPokemon, numItems: number, tier: RewardTier | "Berries") { // These pools have to be defined at runtime so that modifierTypes exist // Pools have instances of the modifier type equal to the max stacks that modifier can be applied to any one pokemon // This is to prevent "over-generating" a random item of a certain type during item swaps @@ -528,7 +528,7 @@ function generateItemsOfTier(pokemon: PlayerPokemon, numItems: number, tier: Mod if (tier === "Berries") { pool = berryPool; } else { - pool = tier === ModifierTier.ULTRA ? ultraPool : roguePool; + pool = tier === RewardTier.ULTRA ? ultraPool : roguePool; } for (let i = 0; i < numItems; i++) { diff --git a/src/data/mystery-encounters/encounters/fight-or-flight-encounter.ts b/src/data/mystery-encounters/encounters/fight-or-flight-encounter.ts index c53ff610c48..038b3e69de0 100644 --- a/src/data/mystery-encounters/encounters/fight-or-flight-encounter.ts +++ b/src/data/mystery-encounters/encounters/fight-or-flight-encounter.ts @@ -9,7 +9,7 @@ import { } from "#app/data/mystery-encounters/utils/encounter-phase-utils"; import { STEALING_MOVES } from "#app/data/mystery-encounters/requirements/requirement-groups"; import type Pokemon from "#app/field/pokemon"; -import { ModifierTier } from "#enums/modifier-tier"; +import { RewardTier } from "#enums/reward-tier"; import type { ModifierTypeOption } from "#app/modifier/modifier-type"; import { getPlayerModifierTypeOptions, regenerateModifierPoolThresholds } from "#app/modifier/modifier-type"; import { ModifierPoolType } from "#enums/modifier-pool-type"; @@ -89,12 +89,12 @@ export const FightOrFlightEncounter: MysteryEncounter = MysteryEncounterBuilder. // Waves 10-40 GREAT, 60-120 ULTRA, 120-160 ROGUE, 160-180 MASTER const tier = globalScene.currentBattle.waveIndex > 160 - ? ModifierTier.MASTER + ? RewardTier.MASTER : globalScene.currentBattle.waveIndex > 120 - ? ModifierTier.ROGUE + ? RewardTier.ROGUE : globalScene.currentBattle.waveIndex > 40 - ? ModifierTier.ULTRA - : ModifierTier.GREAT; + ? RewardTier.ULTRA + : RewardTier.GREAT; regenerateModifierPoolThresholds(globalScene.getPlayerParty(), ModifierPoolType.PLAYER, 0); let item: ModifierTypeOption | null = null; // TMs and Candy Jar excluded from possible rewards as they're too swingy in value for a singular item reward 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 6bbc1a68772..4a84d62c688 100644 --- a/src/data/mystery-encounters/encounters/global-trade-system-encounter.ts +++ b/src/data/mystery-encounters/encounters/global-trade-system-encounter.ts @@ -4,7 +4,6 @@ import { setEncounterRewards, } from "#app/data/mystery-encounters/utils/encounter-phase-utils"; import { TrainerSlot } from "#enums/trainer-slot"; -import { ModifierTier } from "#enums/modifier-tier"; import { MusicPreference } from "#app/system/settings/settings"; import type { ModifierTypeOption } from "#app/modifier/modifier-type"; import { getPlayerModifierTypeOptions, regenerateModifierPoolThresholds } from "#app/modifier/modifier-type"; @@ -33,13 +32,7 @@ import type { PlayerPokemon } from "#app/field/pokemon"; import type Pokemon from "#app/field/pokemon"; import { EnemyPokemon } from "#app/field/pokemon"; import { PokemonMove } from "#app/data/moves/pokemon-move"; -import type { PokemonHeldItemModifier } from "#app/modifier/modifier"; -import { - HiddenAbilityRateBoosterModifier, - PokemonFormChangeItemModifier, - ShinyRateBoosterModifier, - SpeciesStatBoosterModifier, -} from "#app/modifier/modifier"; +import { HiddenAbilityRateBoosterModifier, ShinyRateBoosterModifier } from "#app/modifier/modifier"; import type { OptionSelectItem } from "#app/ui/abstact-option-select-ui-handler"; import PokemonData from "#app/system/pokemon-data"; import i18next from "i18next"; @@ -53,6 +46,9 @@ import type { PokeballType } from "#enums/pokeball"; import { doShinySparkleAnim } from "#app/field/anims"; import { TrainerType } from "#enums/trainer-type"; import { timedEventManager } from "#app/global-event-manager"; +import { HeldItemCategoryId, HeldItemId, isItemInCategory } from "#enums/held-item-id"; +import { allHeldItems } from "#app/items/all-held-items"; +import { RewardTier } from "#enums/reward-tier"; /** the i18n namespace for the encounter */ const namespace = "mysteryEncounters/globalTradeSystem"; @@ -215,9 +211,9 @@ export const GlobalTradeSystemEncounter: MysteryEncounter = MysteryEncounterBuil const encounter = globalScene.currentBattle.mysteryEncounter!; const tradedPokemon: PlayerPokemon = encounter.misc.tradedPokemon; const receivedPokemonData: EnemyPokemon = encounter.misc.receivedPokemon; - const modifiers = tradedPokemon - .getHeldItems() - .filter(m => !(m instanceof PokemonFormChangeItemModifier) && !(m instanceof SpeciesStatBoosterModifier)); + const heldItemConfig = tradedPokemon.heldItemManager + .generateHeldItemConfiguration() + .filter(ic => !isItemInCategory(ic.entry as HeldItemId, HeldItemCategoryId.SPECIES_STAT_BOOSTER)); // Generate a trainer name const traderName = generateRandomTraderName(); @@ -241,16 +237,12 @@ export const GlobalTradeSystemEncounter: MysteryEncounter = MysteryEncounterBuil dataSource.variant, dataSource.ivs, dataSource.nature, + heldItemConfig, dataSource, ); globalScene.getPlayerParty().push(newPlayerPokemon); await newPlayerPokemon.loadAssets(); - for (const mod of modifiers) { - mod.pokemonId = newPlayerPokemon.id; - globalScene.addModifier(mod, true, false, false, true); - } - // Show the trade animation await showTradeBackground(); await doPokemonTradeSequence(tradedPokemon, newPlayerPokemon); @@ -336,9 +328,9 @@ export const GlobalTradeSystemEncounter: MysteryEncounter = MysteryEncounterBuil const encounter = globalScene.currentBattle.mysteryEncounter!; const tradedPokemon: PlayerPokemon = encounter.misc.tradedPokemon; const receivedPokemonData: EnemyPokemon = encounter.misc.receivedPokemon; - const modifiers = tradedPokemon - .getHeldItems() - .filter(m => !(m instanceof PokemonFormChangeItemModifier) && !(m instanceof SpeciesStatBoosterModifier)); + const heldItemConfig = tradedPokemon.heldItemManager + .generateHeldItemConfiguration() + .filter(ic => !isItemInCategory(ic.entry as HeldItemId, HeldItemCategoryId.SPECIES_STAT_BOOSTER)); // Generate a trainer name const traderName = generateRandomTraderName(); @@ -361,16 +353,12 @@ export const GlobalTradeSystemEncounter: MysteryEncounter = MysteryEncounterBuil dataSource.variant, dataSource.ivs, dataSource.nature, + heldItemConfig, dataSource, ); globalScene.getPlayerParty().push(newPlayerPokemon); await newPlayerPokemon.loadAssets(); - for (const mod of modifiers) { - mod.pokemonId = newPlayerPokemon.id; - globalScene.addModifier(mod, true, false, false, true); - } - // Show the trade animation await showTradeBackground(); await doPokemonTradeSequence(tradedPokemon, newPlayerPokemon); @@ -395,17 +383,15 @@ export const GlobalTradeSystemEncounter: MysteryEncounter = MysteryEncounterBuil const encounter = globalScene.currentBattle.mysteryEncounter!; const onPokemonSelected = (pokemon: PlayerPokemon) => { // Get Pokemon held items and filter for valid ones - const validItems = pokemon.getHeldItems().filter(it => { - return it.isTransferable; - }); + const validItems = pokemon.heldItemManager.getTransferableHeldItems(); - return validItems.map((modifier: PokemonHeldItemModifier) => { + return validItems.map((id: HeldItemId) => { const option: OptionSelectItem = { - label: modifier.type.name, + label: allHeldItems[id].name, handler: () => { // Pokemon and item selected - encounter.setDialogueToken("chosenItem", modifier.type.name); - encounter.misc.chosenModifier = modifier; + encounter.setDialogueToken("chosenItem", allHeldItems[id].name); + encounter.misc.chosenHeldItem = id; encounter.misc.chosenPokemon = pokemon; return true; }, @@ -416,10 +402,7 @@ export const GlobalTradeSystemEncounter: MysteryEncounter = MysteryEncounterBuil const selectableFilter = (pokemon: Pokemon) => { // If pokemon has items to trade - const meetsReqs = - pokemon.getHeldItems().filter(it => { - return it.isTransferable; - }).length > 0; + const meetsReqs = pokemon.heldItemManager.getTransferableHeldItems().length > 0; if (!meetsReqs) { return getEncounterText(`${namespace}:option.3.invalid_selection`) ?? null; } @@ -431,23 +414,15 @@ export const GlobalTradeSystemEncounter: MysteryEncounter = MysteryEncounterBuil }) .withOptionPhase(async () => { const encounter = globalScene.currentBattle.mysteryEncounter!; - const modifier = encounter.misc.chosenModifier as PokemonHeldItemModifier; + const heldItemId = encounter.misc.chosenHeldItem as HeldItemId; const party = globalScene.getPlayerParty(); const chosenPokemon: PlayerPokemon = encounter.misc.chosenPokemon; // Check tier of the traded item, the received item will be one tier up - const type = modifier.type.withTierFromPool(ModifierPoolType.PLAYER, party); - let tier = type.tier ?? ModifierTier.GREAT; - // Eggs and White Herb are not in the pool - if (type.id === "WHITE_HERB") { - tier = ModifierTier.GREAT; - } else if (type.id === "LUCKY_EGG") { - tier = ModifierTier.ULTRA; - } else if (type.id === "GOLDEN_EGG") { - tier = ModifierTier.ROGUE; - } + let tier = globalTradeItemTiers[heldItemId] ?? RewardTier.GREAT; + // Increment tier by 1 - if (tier < ModifierTier.MASTER) { + if (tier < RewardTier.MASTER) { tier++; } @@ -467,8 +442,8 @@ export const GlobalTradeSystemEncounter: MysteryEncounter = MysteryEncounterBuil fillRemaining: false, }); - chosenPokemon.loseHeldItem(modifier, false); - await globalScene.updateModifiers(true, true); + chosenPokemon.heldItemManager.remove(heldItemId); + await globalScene.updateModifiers(true); // Generate a trainer name const traderName = generateRandomTraderName(); @@ -1000,3 +975,38 @@ function generateRandomTraderName() { const trainerNames = trainerNameString.split(" & "); return trainerNames[randInt(trainerNames.length)]; } + +const globalTradeItemTiers = { + [HeldItemCategoryId.BERRY]: RewardTier.COMMON, + + [HeldItemCategoryId.BASE_STAT_BOOST]: RewardTier.GREAT, + [HeldItemId.WHITE_HERB]: RewardTier.GREAT, + [HeldItemId.METAL_POWDER]: RewardTier.GREAT, + [HeldItemId.QUICK_POWDER]: RewardTier.GREAT, + [HeldItemId.DEEP_SEA_SCALE]: RewardTier.GREAT, + [HeldItemId.DEEP_SEA_TOOTH]: RewardTier.GREAT, + + [HeldItemCategoryId.TYPE_ATTACK_BOOSTER]: RewardTier.ULTRA, + [HeldItemId.REVIVER_SEED]: RewardTier.ULTRA, + [HeldItemId.LIGHT_BALL]: RewardTier.ULTRA, + [HeldItemId.EVIOLITE]: RewardTier.ULTRA, + [HeldItemId.QUICK_CLAW]: RewardTier.ULTRA, + [HeldItemId.MYSTICAL_ROCK]: RewardTier.ULTRA, + [HeldItemId.WIDE_LENS]: RewardTier.ULTRA, + [HeldItemId.GOLDEN_PUNCH]: RewardTier.ULTRA, + [HeldItemId.TOXIC_ORB]: RewardTier.ULTRA, + [HeldItemId.FLAME_ORB]: RewardTier.ULTRA, + [HeldItemId.LUCKY_EGG]: RewardTier.ULTRA, + + [HeldItemId.FOCUS_BAND]: RewardTier.ROGUE, + [HeldItemId.KINGS_ROCK]: RewardTier.ROGUE, + [HeldItemId.LEFTOVERS]: RewardTier.ROGUE, + [HeldItemId.SHELL_BELL]: RewardTier.ROGUE, + [HeldItemId.GRIP_CLAW]: RewardTier.ROGUE, + [HeldItemId.SOUL_DEW]: RewardTier.ROGUE, + [HeldItemId.BATON]: RewardTier.ROGUE, + [HeldItemId.GOLDEN_EGG]: RewardTier.ULTRA, + + [HeldItemId.MINI_BLACK_HOLE]: RewardTier.MASTER, + [HeldItemId.MULTI_LENS]: RewardTier.MASTER, +}; diff --git a/src/data/mystery-encounters/encounters/mysterious-challengers-encounter.ts b/src/data/mystery-encounters/encounters/mysterious-challengers-encounter.ts index 010358ea3b2..4e63291583f 100644 --- a/src/data/mystery-encounters/encounters/mysterious-challengers-encounter.ts +++ b/src/data/mystery-encounters/encounters/mysterious-challengers-encounter.ts @@ -7,7 +7,7 @@ import { trainerConfigs } from "#app/data/trainers/trainer-config"; import { trainerPartyTemplates } from "#app/data/trainers/TrainerPartyTemplate"; import { TrainerPartyCompoundTemplate } from "#app/data/trainers/TrainerPartyTemplate"; import { TrainerPartyTemplate } from "#app/data/trainers/TrainerPartyTemplate"; -import { ModifierTier } from "#enums/modifier-tier"; +import { RewardTier } from "#enums/reward-tier"; import { modifierTypes } from "#app/data/data-lists"; import { MysteryEncounterType } from "#enums/mystery-encounter-type"; import { PartyMemberStrength } from "#enums/party-member-strength"; @@ -176,7 +176,7 @@ export const MysteriousChallengersEncounter: MysteryEncounter = MysteryEncounter const config: EnemyPartyConfig = encounter.enemyPartyConfigs[1]; setEncounterRewards({ - guaranteedModifierTiers: [ModifierTier.ULTRA, ModifierTier.ULTRA, ModifierTier.GREAT, ModifierTier.GREAT], + guaranteedModifierTiers: [RewardTier.ULTRA, RewardTier.ULTRA, RewardTier.GREAT, RewardTier.GREAT], fillRemaining: true, }); @@ -207,7 +207,7 @@ export const MysteriousChallengersEncounter: MysteryEncounter = MysteryEncounter encounter.expMultiplier = 0.9; setEncounterRewards({ - guaranteedModifierTiers: [ModifierTier.ROGUE, ModifierTier.ROGUE, ModifierTier.ULTRA, ModifierTier.GREAT], + guaranteedModifierTiers: [RewardTier.ROGUE, RewardTier.ROGUE, RewardTier.ULTRA, RewardTier.GREAT], fillRemaining: true, }); diff --git a/src/data/mystery-encounters/encounters/mysterious-chest-encounter.ts b/src/data/mystery-encounters/encounters/mysterious-chest-encounter.ts index 321e65d7008..ca3c3e5aafd 100644 --- a/src/data/mystery-encounters/encounters/mysterious-chest-encounter.ts +++ b/src/data/mystery-encounters/encounters/mysterious-chest-encounter.ts @@ -16,7 +16,7 @@ import { } from "#app/data/mystery-encounters/utils/encounter-pokemon-utils"; import { getPokemonSpecies } from "#app/utils/pokemon-utils"; import { CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES } from "#app/constants"; -import { ModifierTier } from "#enums/modifier-tier"; +import { RewardTier } from "#enums/reward-tier"; import { randSeedInt } from "#app/utils/common"; import { MoveId } from "#enums/move-id"; import { MysteryEncounterOptionMode } from "#enums/mystery-encounter-option-mode"; @@ -144,7 +144,7 @@ export const MysteriousChestEncounter: MysteryEncounter = MysteryEncounterBuilde if (roll >= RAND_LENGTH - COMMON_REWARDS_PERCENT) { // Choose between 2 COMMON / 2 GREAT tier items (20%) setEncounterRewards({ - guaranteedModifierTiers: [ModifierTier.COMMON, ModifierTier.COMMON, ModifierTier.GREAT, ModifierTier.GREAT], + guaranteedModifierTiers: [RewardTier.COMMON, RewardTier.COMMON, RewardTier.GREAT, RewardTier.GREAT], }); // Display result message then proceed to rewards queueEncounterMessage(`${namespace}:option.1.normal`); @@ -152,7 +152,7 @@ export const MysteriousChestEncounter: MysteryEncounter = MysteryEncounterBuilde } else if (roll >= RAND_LENGTH - COMMON_REWARDS_PERCENT - ULTRA_REWARDS_PERCENT) { // Choose between 3 ULTRA tier items (30%) setEncounterRewards({ - guaranteedModifierTiers: [ModifierTier.ULTRA, ModifierTier.ULTRA, ModifierTier.ULTRA], + guaranteedModifierTiers: [RewardTier.ULTRA, RewardTier.ULTRA, RewardTier.ULTRA], }); // Display result message then proceed to rewards queueEncounterMessage(`${namespace}:option.1.good`); @@ -160,7 +160,7 @@ export const MysteriousChestEncounter: MysteryEncounter = MysteryEncounterBuilde } else if (roll >= RAND_LENGTH - COMMON_REWARDS_PERCENT - ULTRA_REWARDS_PERCENT - ROGUE_REWARDS_PERCENT) { // Choose between 2 ROGUE tier items (10%) setEncounterRewards({ - guaranteedModifierTiers: [ModifierTier.ROGUE, ModifierTier.ROGUE], + guaranteedModifierTiers: [RewardTier.ROGUE, RewardTier.ROGUE], }); // Display result message then proceed to rewards queueEncounterMessage(`${namespace}:option.1.great`); @@ -171,7 +171,7 @@ export const MysteriousChestEncounter: MysteryEncounter = MysteryEncounterBuilde ) { // Choose 1 MASTER tier item (5%) setEncounterRewards({ - guaranteedModifierTiers: [ModifierTier.MASTER], + guaranteedModifierTiers: [RewardTier.MASTER], }); // Display result message then proceed to rewards queueEncounterMessage(`${namespace}:option.1.amazing`); diff --git a/src/data/mystery-encounters/encounters/the-winstrate-challenge-encounter.ts b/src/data/mystery-encounters/encounters/the-winstrate-challenge-encounter.ts index ac53b3c8ec6..08ffc6eb492 100644 --- a/src/data/mystery-encounters/encounters/the-winstrate-challenge-encounter.ts +++ b/src/data/mystery-encounters/encounters/the-winstrate-challenge-encounter.ts @@ -25,7 +25,7 @@ import i18next from "i18next"; import { CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES } from "#app/constants"; import { BattlerTagType } from "#enums/battler-tag-type"; import { modifierTypes } from "#app/data/data-lists"; -import { ModifierTier } from "#enums/modifier-tier"; +import { RewardTier } from "#enums/reward-tier"; import { HeldItemId } from "#enums/held-item-id"; //TODO: make all items unstealable @@ -164,7 +164,7 @@ async function spawnNextTrainerOrEndEncounter() { await showEncounterDialogue(`${namespace}:victory_2`, `${namespace}:speaker`); globalScene.ui.clearText(); // Clears "Winstrate" title from screen as rewards get animated in const machoBrace = generateModifierTypeOption(modifierTypes.MYSTERY_ENCOUNTER_MACHO_BRACE)!; - machoBrace.type.tier = ModifierTier.MASTER; + machoBrace.type.tier = RewardTier.MASTER; setEncounterRewards({ guaranteedModifierTypeOptions: [machoBrace], fillRemaining: false, diff --git a/src/data/mystery-encounters/encounters/trash-to-treasure-encounter.ts b/src/data/mystery-encounters/encounters/trash-to-treasure-encounter.ts index 6a2d220e982..c5770ece3f5 100644 --- a/src/data/mystery-encounters/encounters/trash-to-treasure-encounter.ts +++ b/src/data/mystery-encounters/encounters/trash-to-treasure-encounter.ts @@ -19,7 +19,7 @@ import { MysteryEncounterOptionMode } from "#enums/mystery-encounter-option-mode import { SpeciesId } from "#enums/species-id"; import { showEncounterText } from "#app/data/mystery-encounters/utils/encounter-dialogue-utils"; import i18next from "#app/plugins/i18n"; -import { ModifierTier } from "#enums/modifier-tier"; +import { RewardTier } from "#enums/reward-tier"; import { getPokemonSpecies } from "#app/utils/pokemon-utils"; import { MoveId } from "#enums/move-id"; import { BattlerIndex } from "#enums/battler-index"; @@ -172,7 +172,7 @@ export const TrashToTreasureEncounter: MysteryEncounter = MysteryEncounterBuilde const encounter = globalScene.currentBattle.mysteryEncounter!; setEncounterRewards({ - guaranteedModifierTiers: [ModifierTier.ROGUE, ModifierTier.ROGUE, ModifierTier.ULTRA, ModifierTier.GREAT], + guaranteedModifierTiers: [RewardTier.ROGUE, RewardTier.ROGUE, RewardTier.ULTRA, RewardTier.GREAT], fillRemaining: true, }); encounter.startOfBattleEffects.push( diff --git a/src/data/mystery-encounters/encounters/weird-dream-encounter.ts b/src/data/mystery-encounters/encounters/weird-dream-encounter.ts index fd88b318c1f..e0d6989b498 100644 --- a/src/data/mystery-encounters/encounters/weird-dream-encounter.ts +++ b/src/data/mystery-encounters/encounters/weird-dream-encounter.ts @@ -32,7 +32,7 @@ import { import { getLevelTotalExp } from "#app/data/exp"; import { Stat } from "#enums/stat"; import { Challenges } from "#enums/challenges"; -import { ModifierTier } from "#enums/modifier-tier"; +import { RewardTier } from "#enums/reward-tier"; import { PlayerGender } from "#enums/player-gender"; import { TrainerType } from "#enums/trainer-type"; import PokemonData from "#app/system/pokemon-data"; @@ -318,12 +318,12 @@ export const WeirdDreamEncounter: MysteryEncounter = MysteryEncounterBuilder.wit setEncounterRewards( { guaranteedModifierTiers: [ - ModifierTier.ROGUE, - ModifierTier.ROGUE, - ModifierTier.ULTRA, - ModifierTier.ULTRA, - ModifierTier.GREAT, - ModifierTier.GREAT, + RewardTier.ROGUE, + RewardTier.ROGUE, + RewardTier.ULTRA, + RewardTier.ULTRA, + RewardTier.GREAT, + RewardTier.GREAT, ], fillRemaining: false, }, diff --git a/src/enums/modifier-tier.ts b/src/enums/modifier-tier.ts deleted file mode 100644 index d8a75e41b0a..00000000000 --- a/src/enums/modifier-tier.ts +++ /dev/null @@ -1,8 +0,0 @@ -export enum ModifierTier { - COMMON, - GREAT, - ULTRA, - ROGUE, - MASTER, - LUXURY, -} diff --git a/src/field/pokemon.ts b/src/field/pokemon.ts index 14f2f24619d..2861a09d80a 100644 --- a/src/field/pokemon.ts +++ b/src/field/pokemon.ts @@ -139,7 +139,7 @@ import type { TrainerSlot } from "#enums/trainer-slot"; import Overrides from "#app/overrides"; import i18next from "i18next"; import { speciesEggMoves } from "#app/data/balance/egg-moves"; -import { ModifierTier } from "#enums/modifier-tier"; +import { RewardTier } from "#enums/reward-tier"; import { applyChallenges } from "#app/data/challenge"; import { ChallengeType } from "#enums/challenge-type"; import { AbilityId } from "#enums/ability-id"; @@ -2977,11 +2977,11 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { } } if (compatible && !movePool.some(m => m[0] === moveId) && !allMoves[moveId].name.endsWith(" (N)")) { - if (tmPoolTiers[moveId] === ModifierTier.COMMON && this.level >= 15) { + if (tmPoolTiers[moveId] === RewardTier.COMMON && this.level >= 15) { movePool.push([moveId, 4]); - } else if (tmPoolTiers[moveId] === ModifierTier.GREAT && this.level >= 30) { + } else if (tmPoolTiers[moveId] === RewardTier.GREAT && this.level >= 30) { movePool.push([moveId, 8]); - } else if (tmPoolTiers[moveId] === ModifierTier.ULTRA && this.level >= 50) { + } else if (tmPoolTiers[moveId] === RewardTier.ULTRA && this.level >= 50) { movePool.push([moveId, 14]); } } diff --git a/src/modifier/init-modifier-pools.ts b/src/modifier/init-modifier-pools.ts index 16ca03fae92..7e1bb7c9957 100644 --- a/src/modifier/init-modifier-pools.ts +++ b/src/modifier/init-modifier-pools.ts @@ -3,7 +3,7 @@ import { enemyBuffModifierPool, modifierPool } from "#app/modifier/modifier-pool import { globalScene } from "#app/global-scene"; import { DoubleBattleChanceBoosterModifier } from "./modifier"; import { WeightedModifierType } from "./modifier-type"; -import { ModifierTier } from "../enums/modifier-tier"; +import { RewardTier } from "../enums/modifier-tier"; import type { WeightedModifierTypeWeightFunc } from "#app/@types/modifier-types"; import { modifierTypes } from "#app/data/data-lists"; import { PokeballType } from "#enums/pokeball"; @@ -25,7 +25,7 @@ import { allHeldItems } from "#app/items/all-held-items"; * Initialize the common modifier pool */ function initCommonModifierPool() { - modifierPool[ModifierTier.COMMON] = [ + modifierPool[RewardTier.COMMON] = [ new WeightedModifierType(modifierTypes.POKEBALL, () => (hasMaximumBalls(PokeballType.POKEBALL) ? 0 : 6), 6), new WeightedModifierType(modifierTypes.RARE_CANDY, 2), new WeightedModifierType( @@ -93,7 +93,7 @@ function initCommonModifierPool() { new WeightedModifierType(modifierTypes.BERRY, 2), new WeightedModifierType(modifierTypes.TM_COMMON, 2), ].map(m => { - m.setTier(ModifierTier.COMMON); + m.setTier(RewardTier.COMMON); return m; }); } @@ -102,7 +102,7 @@ function initCommonModifierPool() { * Initialize the Great modifier pool */ function initGreatModifierPool() { - modifierPool[ModifierTier.GREAT] = [ + modifierPool[RewardTier.GREAT] = [ new WeightedModifierType(modifierTypes.GREAT_BALL, () => (hasMaximumBalls(PokeballType.GREAT_BALL) ? 0 : 6), 6), new WeightedModifierType(modifierTypes.PP_UP, 2), new WeightedModifierType( @@ -292,7 +292,7 @@ function initGreatModifierPool() { 1, ), ].map(m => { - m.setTier(ModifierTier.GREAT); + m.setTier(RewardTier.GREAT); return m; }); } @@ -301,7 +301,7 @@ function initGreatModifierPool() { * Initialize the Ultra modifier pool */ function initUltraModifierPool() { - modifierPool[ModifierTier.ULTRA] = [ + modifierPool[RewardTier.ULTRA] = [ new WeightedModifierType(modifierTypes.ULTRA_BALL, () => (hasMaximumBalls(PokeballType.ULTRA_BALL) ? 0 : 15), 15), new WeightedModifierType(modifierTypes.MAX_LURE, lureWeightFunc(30, 4)), new WeightedModifierType(modifierTypes.BIG_NUGGET, skipInLastClassicWaveOrDefault(12)), @@ -514,13 +514,13 @@ function initUltraModifierPool() { new WeightedModifierType(modifierTypes.QUICK_CLAW, 3), new WeightedModifierType(modifierTypes.WIDE_LENS, 7), ].map(m => { - m.setTier(ModifierTier.ULTRA); + m.setTier(RewardTier.ULTRA); return m; }); } function initRogueModifierPool() { - modifierPool[ModifierTier.ROGUE] = [ + modifierPool[RewardTier.ROGUE] = [ new WeightedModifierType(modifierTypes.ROGUE_BALL, () => (hasMaximumBalls(PokeballType.ROGUE_BALL) ? 0 : 16), 16), new WeightedModifierType(modifierTypes.RELIC_GOLD, skipInLastClassicWaveOrDefault(2)), new WeightedModifierType(modifierTypes.LEFTOVERS, 3), @@ -558,7 +558,7 @@ function initRogueModifierPool() { 3, ), ].map(m => { - m.setTier(ModifierTier.ROGUE); + m.setTier(RewardTier.ROGUE); return m; }); } @@ -567,7 +567,7 @@ function initRogueModifierPool() { * Initialize the Master modifier pool */ function initMasterModifierPool() { - modifierPool[ModifierTier.MASTER] = [ + modifierPool[RewardTier.MASTER] = [ new WeightedModifierType(modifierTypes.MASTER_BALL, () => (hasMaximumBalls(PokeballType.MASTER_BALL) ? 0 : 24), 24), new WeightedModifierType(modifierTypes.SHINY_CHARM, 14), new WeightedModifierType(modifierTypes.HEALING_CHARM, 18), @@ -600,7 +600,7 @@ function initMasterModifierPool() { 1, ), ].map(m => { - m.setTier(ModifierTier.MASTER); + m.setTier(RewardTier.MASTER); return m; }); } @@ -609,7 +609,7 @@ function initMasterModifierPool() { * Initialize the enemy buff modifier pool */ function initEnemyBuffModifierPool() { - enemyBuffModifierPool[ModifierTier.COMMON] = [ + enemyBuffModifierPool[RewardTier.COMMON] = [ new WeightedModifierType(modifierTypes.ENEMY_DAMAGE_BOOSTER, 9), new WeightedModifierType(modifierTypes.ENEMY_DAMAGE_REDUCTION, 9), new WeightedModifierType(modifierTypes.ENEMY_ATTACK_POISON_CHANCE, 3), @@ -619,20 +619,20 @@ function initEnemyBuffModifierPool() { new WeightedModifierType(modifierTypes.ENEMY_ENDURE_CHANCE, 4), new WeightedModifierType(modifierTypes.ENEMY_FUSED_CHANCE, 1), ].map(m => { - m.setTier(ModifierTier.COMMON); + m.setTier(RewardTier.COMMON); return m; }); - enemyBuffModifierPool[ModifierTier.GREAT] = [ + enemyBuffModifierPool[RewardTier.GREAT] = [ new WeightedModifierType(modifierTypes.ENEMY_DAMAGE_BOOSTER, 5), new WeightedModifierType(modifierTypes.ENEMY_DAMAGE_REDUCTION, 5), new WeightedModifierType(modifierTypes.ENEMY_STATUS_EFFECT_HEAL_CHANCE, 5), new WeightedModifierType(modifierTypes.ENEMY_ENDURE_CHANCE, 5), new WeightedModifierType(modifierTypes.ENEMY_FUSED_CHANCE, 1), ].map(m => { - m.setTier(ModifierTier.GREAT); + m.setTier(RewardTier.GREAT); return m; }); - enemyBuffModifierPool[ModifierTier.ULTRA] = [ + enemyBuffModifierPool[RewardTier.ULTRA] = [ new WeightedModifierType(modifierTypes.ENEMY_DAMAGE_BOOSTER, 10), new WeightedModifierType(modifierTypes.ENEMY_DAMAGE_REDUCTION, 10), new WeightedModifierType(modifierTypes.ENEMY_HEAL, 10), @@ -640,15 +640,15 @@ function initEnemyBuffModifierPool() { new WeightedModifierType(modifierTypes.ENEMY_ENDURE_CHANCE, 10), new WeightedModifierType(modifierTypes.ENEMY_FUSED_CHANCE, 5), ].map(m => { - m.setTier(ModifierTier.ULTRA); + m.setTier(RewardTier.ULTRA); return m; }); - enemyBuffModifierPool[ModifierTier.ROGUE] = [].map((m: WeightedModifierType) => { - m.setTier(ModifierTier.ROGUE); + enemyBuffModifierPool[RewardTier.ROGUE] = [].map((m: WeightedModifierType) => { + m.setTier(RewardTier.ROGUE); return m; }); - enemyBuffModifierPool[ModifierTier.MASTER] = [].map((m: WeightedModifierType) => { - m.setTier(ModifierTier.MASTER); + enemyBuffModifierPool[RewardTier.MASTER] = [].map((m: WeightedModifierType) => { + m.setTier(RewardTier.MASTER); return m; }); } diff --git a/src/modifier/modifier-type.ts b/src/modifier/modifier-type.ts index 759bcd42470..912fd95bb43 100644 --- a/src/modifier/modifier-type.ts +++ b/src/modifier/modifier-type.ts @@ -66,7 +66,7 @@ import { CriticalCatchChanceBoosterModifier, MoneyRewardModifier, } from "#app/modifier/modifier"; -import { ModifierTier } from "#enums/modifier-tier"; +import { RewardTier } from "#enums/reward-tier"; import Overrides from "#app/overrides"; import { getVoucherTypeIcon, getVoucherTypeName, VoucherType } from "#app/system/voucher"; import type { PokemonMoveSelectFilter, PokemonSelectFilter } from "#app/ui/party-ui-handler"; @@ -113,7 +113,7 @@ export class ModifierType { public iconImage: string; public group: string; public soundName: string; - public tier: ModifierTier; + public tier: RewardTier; protected newModifierFunc: NewModifierFunc | null; /** @@ -155,7 +155,7 @@ export class ModifierType { return this.iconImage; } - setTier(tier: ModifierTier): void { + setTier(tier: RewardTier): void { this.tier = tier; } @@ -185,7 +185,7 @@ export class ModifierType { party?: PlayerPokemon[], rerollCount = 0, ): ModifierType { - let defaultTier: undefined | ModifierTier; + let defaultTier: undefined | RewardTier; for (const tier of Object.values(getModifierPoolForType(poolType))) { for (const modifier of tier) { if (this.id === modifier.modifierType.id) { @@ -1204,7 +1204,7 @@ class SpeciesStatBoosterRewardGenerator extends ModifierTypeGenerator { } class TmModifierTypeGenerator extends ModifierTypeGenerator { - constructor(tier: ModifierTier) { + constructor(tier: RewardTier) { super((party: Pokemon[], pregenArgs?: any[]) => { if (pregenArgs && pregenArgs.length === 1 && pregenArgs[0] in MoveId) { return new TmModifierType(pregenArgs[0] as MoveId); @@ -1409,7 +1409,7 @@ export class WeightedModifierType { this.maxWeight = maxWeight || (!(weight instanceof Function) ? weight : 0); } - setTier(tier: ModifierTier) { + setTier(tier: RewardTier) { this.modifierType.setTier(tier); } } @@ -1600,9 +1600,9 @@ const modifierTypeInitObj = Object.freeze({ BERRY: () => new BerryRewardGenerator(), - TM_COMMON: () => new TmModifierTypeGenerator(ModifierTier.COMMON), - TM_GREAT: () => new TmModifierTypeGenerator(ModifierTier.GREAT), - TM_ULTRA: () => new TmModifierTypeGenerator(ModifierTier.ULTRA), + TM_COMMON: () => new TmModifierTypeGenerator(RewardTier.COMMON), + TM_GREAT: () => new TmModifierTypeGenerator(RewardTier.GREAT), + TM_ULTRA: () => new TmModifierTypeGenerator(RewardTier.ULTRA), MEMORY_MUSHROOM: () => new RememberMoveModifierType("modifierType:ModifierType.MEMORY_MUSHROOM", "big_mushroom"), @@ -1946,7 +1946,7 @@ export function regenerateModifierPoolThresholds(party: Pokemon[], poolType: Mod } export interface CustomModifierSettings { - guaranteedModifierTiers?: ModifierTier[]; + guaranteedModifierTiers?: RewardTier[]; guaranteedModifierTypeOptions?: ModifierTypeOption[]; guaranteedModifierTypeFuncs?: ModifierTypeFunc[]; fillRemaining?: boolean; @@ -1967,9 +1967,9 @@ export function getModifierTypeFuncById(id: string): ModifierTypeFunc { * @param customModifierSettings (Optional) If specified, can customize the item shop rewards further. * - `guaranteedModifierTypeOptions?: ModifierTypeOption[]` If specified, will override the first X items to be specific modifier options (these should be pre-genned). * - `guaranteedModifierTypeFuncs?: ModifierTypeFunc[]` If specified, will override the next X items to be auto-generated from specific modifier functions (these don't have to be pre-genned). - * - `guaranteedModifierTiers?: ModifierTier[]` If specified, will override the next X items to be the specified tier. These can upgrade with luck. + * - `guaranteedModifierTiers?: RewardTier[]` If specified, will override the next X items to be the specified tier. These can upgrade with luck. * - `fillRemaining?: boolean` Default 'false'. If set to true, will fill the remainder of shop items that were not overridden by the 3 options above, up to the 'count' param value. - * - Example: `count = 4`, `customModifierSettings = { guaranteedModifierTiers: [ModifierTier.GREAT], fillRemaining: true }`, + * - Example: `count = 4`, `customModifierSettings = { guaranteedModifierTiers: [RewardTier.GREAT], fillRemaining: true }`, * - The first item in the shop will be `GREAT` tier, and the remaining 3 items will be generated normally. * - If `fillRemaining = false` in the same scenario, only 1 `GREAT` tier item will appear in the shop (regardless of `count` value). * - `rerollMultiplier?: number` If specified, can adjust the amount of money required for a shop reroll. If set to a negative value, the shop will not allow rerolls at all. @@ -1978,7 +1978,7 @@ export function getModifierTypeFuncById(id: string): ModifierTypeFunc { export function getPlayerModifierTypeOptions( count: number, party: PlayerPokemon[], - modifierTiers?: ModifierTier[], + modifierTiers?: RewardTier[], customModifierSettings?: CustomModifierSettings, ): ModifierTypeOption[] { const options: ModifierTypeOption[] = []; @@ -2059,7 +2059,7 @@ function getModifierTypeOptionWithRetry( existingOptions: ModifierTypeOption[], retryCount: number, party: PlayerPokemon[], - tier?: ModifierTier, + tier?: RewardTier, allowLuckUpgrades?: boolean, ): ModifierTypeOption { allowLuckUpgrades = allowLuckUpgrades ?? true; @@ -2142,15 +2142,15 @@ export function getPlayerShopModifierTypeOptionsForWave(waveIndex: number, baseC } export function getEnemyBuffModifierForWave( - tier: ModifierTier, + tier: RewardTier, enemyModifiers: PersistentModifier[], ): EnemyPersistentModifier { let tierStackCount: number; switch (tier) { - case ModifierTier.ULTRA: + case RewardTier.ULTRA: tierStackCount = 5; break; - case ModifierTier.GREAT: + case RewardTier.GREAT: tierStackCount = 3; break; default: @@ -2188,7 +2188,7 @@ export function getEnemyBuffModifierForWave( function getNewModifierTypeOption( party: Pokemon[], poolType: ModifierPoolType, - baseTier?: ModifierTier, + baseTier?: RewardTier, upgradeCount?: number, retryCount = 0, allowLuckUpgrades = true, @@ -2223,7 +2223,7 @@ function getNewModifierTypeOption( modifierType = (modifierType as ModifierTypeGenerator).generateType(party); if (modifierType === null) { if (player) { - console.log(ModifierTier[tier], upgradeCount); + console.log(RewardTier[tier], upgradeCount); } return getNewModifierTypeOption(party, poolType, tier, upgradeCount, ++retryCount); } @@ -2250,11 +2250,11 @@ function getPoolThresholds(poolType: ModifierPoolType) { function determineTier( party: Pokemon[], player: boolean, - tier?: ModifierTier, + tier?: RewardTier, upgradeCount?: number, retryCount = 0, allowLuckUpgrades = true, -): ModifierTier { +): RewardTier { if (tier === undefined) { const tierValue = randSeedInt(1024); if (!upgradeCount) { @@ -2273,15 +2273,15 @@ function determineTier( } if (tierValue > 255) { - tier = ModifierTier.COMMON; + tier = RewardTier.COMMON; } else if (tierValue > 60) { - tier = ModifierTier.GREAT; + tier = RewardTier.GREAT; } else if (tierValue > 12) { - tier = ModifierTier.ULTRA; + tier = RewardTier.ULTRA; } else if (tierValue) { - tier = ModifierTier.ROGUE; + tier = RewardTier.ROGUE; } else { - tier = ModifierTier.MASTER; + tier = RewardTier.MASTER; } tier += upgradeCount; @@ -2293,7 +2293,7 @@ function determineTier( } } else if (upgradeCount === undefined && player) { upgradeCount = 0; - if (tier < ModifierTier.MASTER && allowLuckUpgrades) { + if (tier < RewardTier.MASTER && allowLuckUpgrades) { const partyLuckValue = getPartyLuckValue(party); const upgradeOdds = Math.floor(128 / ((partyLuckValue + 4) / 4)); while (pool.hasOwnProperty(tier + upgradeCount + 1) && pool[tier + upgradeCount + 1].length) { @@ -2312,9 +2312,9 @@ function determineTier( return tier; } -export function getDefaultModifierTypeForTier(tier: ModifierTier): ModifierType { +export function getDefaultModifierTypeForTier(tier: RewardTier): ModifierType { const modifierPool = getModifierPoolForType(ModifierPoolType.PLAYER); - let modifierType: ModifierType | WeightedModifierType = modifierPool[tier || ModifierTier.COMMON][0]; + let modifierType: ModifierType | WeightedModifierType = modifierPool[tier || RewardTier.COMMON][0]; if (modifierType instanceof WeightedModifierType) { modifierType = (modifierType as WeightedModifierType).modifierType; } @@ -2366,19 +2366,19 @@ export function getLuckString(luckValue: number): string { } export function getLuckTextTint(luckValue: number): number { - let modifierTier: ModifierTier; + let modifierTier: RewardTier; if (luckValue > 11) { - modifierTier = ModifierTier.LUXURY; + modifierTier = RewardTier.LUXURY; } else if (luckValue > 9) { - modifierTier = ModifierTier.MASTER; + modifierTier = RewardTier.MASTER; } else if (luckValue > 5) { - modifierTier = ModifierTier.ROGUE; + modifierTier = RewardTier.ROGUE; } else if (luckValue > 2) { - modifierTier = ModifierTier.ULTRA; + modifierTier = RewardTier.ULTRA; } else if (luckValue) { - modifierTier = ModifierTier.GREAT; + modifierTier = RewardTier.GREAT; } else { - modifierTier = ModifierTier.COMMON; + modifierTier = RewardTier.COMMON; } return getModifierTierTextTint(modifierTier); } diff --git a/src/phases/add-enemy-buff-modifier-phase.ts b/src/phases/add-enemy-buff-modifier-phase.ts index 218a3a653ff..6ff96bee16b 100644 --- a/src/phases/add-enemy-buff-modifier-phase.ts +++ b/src/phases/add-enemy-buff-modifier-phase.ts @@ -1,4 +1,4 @@ -import { ModifierTier } from "#enums/modifier-tier"; +import { RewardTier } from "#enums/reward-tier"; import { regenerateModifierPoolThresholds, getEnemyBuffModifierForWave } from "#app/modifier/modifier-type"; import { ModifierPoolType } from "#enums/modifier-pool-type"; import { EnemyPersistentModifier } from "#app/modifier/modifier"; @@ -11,11 +11,7 @@ export class AddEnemyBuffModifierPhase extends Phase { super.start(); const waveIndex = globalScene.currentBattle.waveIndex; - const tier = !(waveIndex % 1000) - ? ModifierTier.ULTRA - : !(waveIndex % 250) - ? ModifierTier.GREAT - : ModifierTier.COMMON; + const tier = !(waveIndex % 1000) ? RewardTier.ULTRA : !(waveIndex % 250) ? RewardTier.GREAT : RewardTier.COMMON; regenerateModifierPoolThresholds(globalScene.getEnemyParty(), ModifierPoolType.ENEMY_BUFF); diff --git a/src/phases/select-modifier-phase.ts b/src/phases/select-modifier-phase.ts index a78978fe4ce..93040b15584 100644 --- a/src/phases/select-modifier-phase.ts +++ b/src/phases/select-modifier-phase.ts @@ -1,5 +1,5 @@ import { globalScene } from "#app/global-scene"; -import type { ModifierTier } from "#enums/modifier-tier"; +import type { RewardTier } from "#enums/reward-tier"; import type { ModifierTypeOption, ModifierType } from "#app/modifier/modifier-type"; import { regenerateModifierPoolThresholds, @@ -32,7 +32,7 @@ export type ModifierSelectCallback = (rowCursor: number, cursor: number) => bool export class SelectModifierPhase extends BattlePhase { public readonly phaseName = "SelectModifierPhase"; private rerollCount: number; - private modifierTiers?: ModifierTier[]; + private modifierTiers?: RewardTier[]; private customModifierSettings?: CustomModifierSettings; private isCopy: boolean; @@ -40,7 +40,7 @@ export class SelectModifierPhase extends BattlePhase { constructor( rerollCount = 0, - modifierTiers?: ModifierTier[], + modifierTiers?: RewardTier[], customModifierSettings?: CustomModifierSettings, isCopy = false, ) { @@ -193,7 +193,7 @@ export class SelectModifierPhase extends BattlePhase { globalScene.phaseManager.unshiftNew( "SelectModifierPhase", this.rerollCount + 1, - this.typeOptions.map(o => o.type?.tier).filter(t => t !== undefined) as ModifierTier[], + this.typeOptions.map(o => o.type?.tier).filter(t => t !== undefined) as RewardTier[], ); globalScene.ui.clearText(); globalScene.ui.setMode(UiMode.MESSAGE).then(() => super.end()); diff --git a/src/ui/text.ts b/src/ui/text.ts index 8812d8ee4a8..ce06bd4f153 100644 --- a/src/ui/text.ts +++ b/src/ui/text.ts @@ -4,7 +4,7 @@ import type Phaser from "phaser"; import BBCodeText from "phaser3-rex-plugins/plugins/gameobjects/tagtext/bbcodetext/BBCodeText"; import InputText from "phaser3-rex-plugins/plugins/inputtext"; import { globalScene } from "#app/global-scene"; -import { ModifierTier } from "../enums/modifier-tier"; +import { RewardTier } from "../enums/modifier-tier"; import i18next from "#app/plugins/i18n"; export enum TextStyle { @@ -423,19 +423,19 @@ export function getTextColor(textStyle: TextStyle, shadow?: boolean, uiTheme: Ui } } -export function getModifierTierTextTint(tier: ModifierTier): number { +export function getModifierTierTextTint(tier: RewardTier): number { switch (tier) { - case ModifierTier.COMMON: + case RewardTier.COMMON: return 0xf8f8f8; - case ModifierTier.GREAT: + case RewardTier.GREAT: return 0x4998f8; - case ModifierTier.ULTRA: + case RewardTier.ULTRA: return 0xf8d038; - case ModifierTier.ROGUE: + case RewardTier.ROGUE: return 0xdb4343; - case ModifierTier.MASTER: + case RewardTier.MASTER: return 0xe331c5; - case ModifierTier.LUXURY: + case RewardTier.LUXURY: return 0xe74c18; } } @@ -443,12 +443,12 @@ export function getModifierTierTextTint(tier: ModifierTier): number { export function getEggTierTextTint(tier: EggTier): number { switch (tier) { case EggTier.COMMON: - return getModifierTierTextTint(ModifierTier.COMMON); + return getModifierTierTextTint(RewardTier.COMMON); case EggTier.RARE: - return getModifierTierTextTint(ModifierTier.GREAT); + return getModifierTierTextTint(RewardTier.GREAT); case EggTier.EPIC: - return getModifierTierTextTint(ModifierTier.ULTRA); + return getModifierTierTextTint(RewardTier.ULTRA); case EggTier.LEGENDARY: - return getModifierTierTextTint(ModifierTier.MASTER); + return getModifierTierTextTint(RewardTier.MASTER); } } diff --git a/test/items/lock_capsule.test.ts b/test/items/lock_capsule.test.ts index beacc3a3907..cbf8d2ca7e9 100644 --- a/test/items/lock_capsule.test.ts +++ b/test/items/lock_capsule.test.ts @@ -1,6 +1,6 @@ import { AbilityId } from "#enums/ability-id"; import { MoveId } from "#enums/move-id"; -import { ModifierTier } from "#enums/modifier-tier"; +import { RewardTier } from "#enums/reward-tier"; import { SelectModifierPhase } from "#app/phases/select-modifier-phase"; import { UiMode } from "#enums/ui-mode"; import GameManager from "#test/testUtils/gameManager"; @@ -36,7 +36,7 @@ describe("Items - Lock Capsule", () => { await game.classicMode.startBattle(); game.scene.phaseManager.overridePhase( new SelectModifierPhase(0, undefined, { - guaranteedModifierTiers: [ModifierTier.COMMON, ModifierTier.COMMON, ModifierTier.COMMON], + guaranteedModifierTiers: [RewardTier.COMMON, RewardTier.COMMON, RewardTier.COMMON], fillRemaining: false, }), ); diff --git a/test/mystery-encounter/encounters/clowning-around-encounter.test.ts b/test/mystery-encounter/encounters/clowning-around-encounter.test.ts index 85193d1ec72..818cd0c923c 100644 --- a/test/mystery-encounter/encounters/clowning-around-encounter.test.ts +++ b/test/mystery-encounter/encounters/clowning-around-encounter.test.ts @@ -20,7 +20,7 @@ import { UiMode } from "#enums/ui-mode"; import { MysteryEncounterOptionMode } from "#enums/mystery-encounter-option-mode"; import { MysteryEncounterTier } from "#enums/mystery-encounter-tier"; import { initSceneWithoutEncounterPhase } from "#test/testUtils/gameManagerUtils"; -import { ModifierTier } from "#enums/modifier-tier"; +import { RewardTier } from "#enums/reward-tier"; import { ClowningAroundEncounter } from "#app/data/mystery-encounters/encounters/clowning-around-encounter"; import { TrainerType } from "#enums/trainer-type"; import { AbilityId } from "#enums/ability-id"; @@ -296,10 +296,10 @@ describe("Clowning Around - Mystery Encounter", () => { const leadItemsAfter = scene.getPlayerParty()[0].getHeldItems(); const ultraCountAfter = leadItemsAfter - .filter(m => m.type.tier === ModifierTier.ULTRA) + .filter(m => m.type.tier === RewardTier.ULTRA) .reduce((a, b) => a + b.stackCount, 0); const rogueCountAfter = leadItemsAfter - .filter(m => m.type.tier === ModifierTier.ROGUE) + .filter(m => m.type.tier === RewardTier.ROGUE) .reduce((a, b) => a + b.stackCount, 0); expect(ultraCountAfter).toBe(13); expect(rogueCountAfter).toBe(7); diff --git a/test/mystery-encounter/encounters/global-trade-system-encounter.test.ts b/test/mystery-encounter/encounters/global-trade-system-encounter.test.ts index bb598f4ae6e..15e46d80634 100644 --- a/test/mystery-encounter/encounters/global-trade-system-encounter.test.ts +++ b/test/mystery-encounter/encounters/global-trade-system-encounter.test.ts @@ -17,7 +17,7 @@ import { CIVILIZATION_ENCOUNTER_BIOMES } from "#app/data/mystery-encounters/myst import { SelectModifierPhase } from "#app/phases/select-modifier-phase"; import { UiMode } from "#enums/ui-mode"; import ModifierSelectUiHandler from "#app/ui/modifier-select-ui-handler"; -import { ModifierTier } from "#enums/modifier-tier"; +import { RewardTier } from "#enums/reward-tier"; import * as Utils from "#app/utils/common"; const namespace = "mysteryEncounters/globalTradeSystem"; @@ -234,7 +234,7 @@ describe("Global Trade System - Mystery Encounter", () => { h => h instanceof ModifierSelectUiHandler, ) as ModifierSelectUiHandler; expect(modifierSelectHandler.options.length).toEqual(1); - expect(modifierSelectHandler.options[0].modifierTypeOption.type.tier).toBe(ModifierTier.MASTER); + expect(modifierSelectHandler.options[0].modifierTypeOption.type.tier).toBe(RewardTier.MASTER); const soulDewAfter = scene.findModifier(m => m instanceof PokemonNatureWeightModifier); expect(soulDewAfter?.stackCount).toBe(1); }); diff --git a/test/mystery-encounter/encounters/mysterious-challengers-encounter.test.ts b/test/mystery-encounter/encounters/mysterious-challengers-encounter.test.ts index 478648d88a7..0b9d3f2a5f3 100644 --- a/test/mystery-encounter/encounters/mysterious-challengers-encounter.test.ts +++ b/test/mystery-encounter/encounters/mysterious-challengers-encounter.test.ts @@ -14,7 +14,7 @@ import { UiMode } from "#enums/ui-mode"; import { MysteryEncounterOptionMode } from "#enums/mystery-encounter-option-mode"; import { MysteryEncounterTier } from "#enums/mystery-encounter-tier"; import { initSceneWithoutEncounterPhase } from "#test/testUtils/gameManagerUtils"; -import { ModifierTier } from "#enums/modifier-tier"; +import { RewardTier } from "#enums/reward-tier"; import { MysteriousChallengersEncounter } from "#app/data/mystery-encounters/encounters/mysterious-challengers-encounter"; import { TrainerConfig } from "#app/data/trainers/trainer-config"; import { TrainerPartyCompoundTemplate } from "#app/data/trainers/TrainerPartyTemplate"; @@ -218,19 +218,19 @@ describe("Mysterious Challengers - Mystery Encounter", () => { expect( modifierSelectHandler.options[0].modifierTypeOption.type.tier - modifierSelectHandler.options[0].modifierTypeOption.upgradeCount, - ).toBe(ModifierTier.ULTRA); + ).toBe(RewardTier.ULTRA); expect( modifierSelectHandler.options[1].modifierTypeOption.type.tier - modifierSelectHandler.options[1].modifierTypeOption.upgradeCount, - ).toBe(ModifierTier.ULTRA); + ).toBe(RewardTier.ULTRA); expect( modifierSelectHandler.options[2].modifierTypeOption.type.tier - modifierSelectHandler.options[2].modifierTypeOption.upgradeCount, - ).toBe(ModifierTier.GREAT); + ).toBe(RewardTier.GREAT); expect( modifierSelectHandler.options[3].modifierTypeOption.type.tier - modifierSelectHandler.options[3].modifierTypeOption.upgradeCount, - ).toBe(ModifierTier.GREAT); + ).toBe(RewardTier.GREAT); }); }); @@ -275,19 +275,19 @@ describe("Mysterious Challengers - Mystery Encounter", () => { expect( modifierSelectHandler.options[0].modifierTypeOption.type.tier - modifierSelectHandler.options[0].modifierTypeOption.upgradeCount, - ).toBe(ModifierTier.ROGUE); + ).toBe(RewardTier.ROGUE); expect( modifierSelectHandler.options[1].modifierTypeOption.type.tier - modifierSelectHandler.options[1].modifierTypeOption.upgradeCount, - ).toBe(ModifierTier.ROGUE); + ).toBe(RewardTier.ROGUE); expect( modifierSelectHandler.options[2].modifierTypeOption.type.tier - modifierSelectHandler.options[2].modifierTypeOption.upgradeCount, - ).toBe(ModifierTier.ULTRA); + ).toBe(RewardTier.ULTRA); expect( modifierSelectHandler.options[3].modifierTypeOption.type.tier - modifierSelectHandler.options[3].modifierTypeOption.upgradeCount, - ).toBe(ModifierTier.GREAT); + ).toBe(RewardTier.GREAT); }); }); }); 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 9ab5f16d1b9..7626e4c9660 100644 --- a/test/mystery-encounter/encounters/trash-to-treasure-encounter.test.ts +++ b/test/mystery-encounter/encounters/trash-to-treasure-encounter.test.ts @@ -14,7 +14,7 @@ import { MysteryEncounterType } from "#app/enums/mystery-encounter-type"; import { SpeciesId } from "#enums/species-id"; import { PokemonMove } from "#app/data/moves/pokemon-move"; import { HealShopCostModifier, HitHealModifier, TurnHealModifier } from "#app/modifier/modifier"; -import { ModifierTier } from "#enums/modifier-tier"; +import { RewardTier } from "#enums/reward-tier"; import type { PokemonHeldItemModifierType } from "#app/modifier/modifier-type"; import { modifierTypes } from "#app/data/data-lists"; import { CommandPhase } from "#app/phases/command-phase"; @@ -254,19 +254,19 @@ describe("Trash to Treasure - Mystery Encounter", () => { expect( modifierSelectHandler.options[0].modifierTypeOption.type.tier - modifierSelectHandler.options[0].modifierTypeOption.upgradeCount, - ).toEqual(ModifierTier.ROGUE); + ).toEqual(RewardTier.ROGUE); expect( modifierSelectHandler.options[1].modifierTypeOption.type.tier - modifierSelectHandler.options[1].modifierTypeOption.upgradeCount, - ).toEqual(ModifierTier.ROGUE); + ).toEqual(RewardTier.ROGUE); expect( modifierSelectHandler.options[2].modifierTypeOption.type.tier - modifierSelectHandler.options[2].modifierTypeOption.upgradeCount, - ).toEqual(ModifierTier.ULTRA); + ).toEqual(RewardTier.ULTRA); expect( modifierSelectHandler.options[3].modifierTypeOption.type.tier - modifierSelectHandler.options[3].modifierTypeOption.upgradeCount, - ).toEqual(ModifierTier.GREAT); + ).toEqual(RewardTier.GREAT); }); }); }); diff --git a/test/mystery-encounter/encounters/weird-dream-encounter.test.ts b/test/mystery-encounter/encounters/weird-dream-encounter.test.ts index 475d5cc3c6e..3690a64cab4 100644 --- a/test/mystery-encounter/encounters/weird-dream-encounter.test.ts +++ b/test/mystery-encounter/encounters/weird-dream-encounter.test.ts @@ -19,7 +19,7 @@ import { WeirdDreamEncounter } from "#app/data/mystery-encounters/encounters/wei import * as EncounterTransformationSequence from "#app/data/mystery-encounters/utils/encounter-transformation-sequence"; import { SelectModifierPhase } from "#app/phases/select-modifier-phase"; import { CommandPhase } from "#app/phases/command-phase"; -import { ModifierTier } from "#enums/modifier-tier"; +import { RewardTier } from "#enums/reward-tier"; const namespace = "mysteryEncounters/weirdDream"; const defaultParty = [SpeciesId.MAGBY, SpeciesId.HAUNTER, SpeciesId.ABRA]; @@ -207,27 +207,27 @@ describe("Weird Dream - Mystery Encounter", () => { expect( modifierSelectHandler.options[0].modifierTypeOption.type.tier - modifierSelectHandler.options[0].modifierTypeOption.upgradeCount, - ).toEqual(ModifierTier.ROGUE); + ).toEqual(RewardTier.ROGUE); expect( modifierSelectHandler.options[1].modifierTypeOption.type.tier - modifierSelectHandler.options[1].modifierTypeOption.upgradeCount, - ).toEqual(ModifierTier.ROGUE); + ).toEqual(RewardTier.ROGUE); expect( modifierSelectHandler.options[2].modifierTypeOption.type.tier - modifierSelectHandler.options[2].modifierTypeOption.upgradeCount, - ).toEqual(ModifierTier.ULTRA); + ).toEqual(RewardTier.ULTRA); expect( modifierSelectHandler.options[3].modifierTypeOption.type.tier - modifierSelectHandler.options[3].modifierTypeOption.upgradeCount, - ).toEqual(ModifierTier.ULTRA); + ).toEqual(RewardTier.ULTRA); expect( modifierSelectHandler.options[4].modifierTypeOption.type.tier - modifierSelectHandler.options[4].modifierTypeOption.upgradeCount, - ).toEqual(ModifierTier.GREAT); + ).toEqual(RewardTier.GREAT); expect( modifierSelectHandler.options[5].modifierTypeOption.type.tier - modifierSelectHandler.options[5].modifierTypeOption.upgradeCount, - ).toEqual(ModifierTier.GREAT); + ).toEqual(RewardTier.GREAT); }); }); diff --git a/test/phases/select-modifier-phase.test.ts b/test/phases/select-modifier-phase.test.ts index b6c3089e236..0a4d80c7ed7 100644 --- a/test/phases/select-modifier-phase.test.ts +++ b/test/phases/select-modifier-phase.test.ts @@ -1,7 +1,7 @@ import type BattleScene from "#app/battle-scene"; import { getPokemonSpecies } from "#app/utils/pokemon-utils"; import { PlayerPokemon } from "#app/field/pokemon"; -import { ModifierTier } from "#enums/modifier-tier"; +import { RewardTier } from "#enums/reward-tier"; import type { CustomModifierSettings } from "#app/modifier/modifier-type"; import { ModifierTypeOption } from "#app/modifier/modifier-type"; import { modifierTypes } from "#app/data/data-lists"; @@ -129,7 +129,7 @@ describe("SelectModifierPhase", () => { h => h instanceof ModifierSelectUiHandler, ) as ModifierSelectUiHandler; expect(modifierSelectHandler.options.length).toEqual(3); - const firstRollTiers: ModifierTier[] = modifierSelectHandler.options.map(o => o.modifierTypeOption.type.tier); + const firstRollTiers: RewardTier[] = modifierSelectHandler.options.map(o => o.modifierTypeOption.type.tier); // TODO: nagivate ui to reroll with lock capsule enabled @@ -184,11 +184,11 @@ describe("SelectModifierPhase", () => { scene.money = 1000000; const customModifiers: CustomModifierSettings = { guaranteedModifierTiers: [ - ModifierTier.COMMON, - ModifierTier.GREAT, - ModifierTier.ULTRA, - ModifierTier.ROGUE, - ModifierTier.MASTER, + RewardTier.COMMON, + RewardTier.GREAT, + RewardTier.ULTRA, + RewardTier.ROGUE, + RewardTier.MASTER, ], }; const pokemon = new PlayerPokemon(getPokemonSpecies(SpeciesId.BULBASAUR), 10, undefined, 0, undefined, true, 2); @@ -212,23 +212,23 @@ describe("SelectModifierPhase", () => { expect( modifierSelectHandler.options[0].modifierTypeOption.type.tier - modifierSelectHandler.options[0].modifierTypeOption.upgradeCount, - ).toEqual(ModifierTier.COMMON); + ).toEqual(RewardTier.COMMON); expect( modifierSelectHandler.options[1].modifierTypeOption.type.tier - modifierSelectHandler.options[1].modifierTypeOption.upgradeCount, - ).toEqual(ModifierTier.GREAT); + ).toEqual(RewardTier.GREAT); expect( modifierSelectHandler.options[2].modifierTypeOption.type.tier - modifierSelectHandler.options[2].modifierTypeOption.upgradeCount, - ).toEqual(ModifierTier.ULTRA); + ).toEqual(RewardTier.ULTRA); expect( modifierSelectHandler.options[3].modifierTypeOption.type.tier - modifierSelectHandler.options[3].modifierTypeOption.upgradeCount, - ).toEqual(ModifierTier.ROGUE); + ).toEqual(RewardTier.ROGUE); expect( modifierSelectHandler.options[4].modifierTypeOption.type.tier - modifierSelectHandler.options[4].modifierTypeOption.upgradeCount, - ).toEqual(ModifierTier.MASTER); + ).toEqual(RewardTier.MASTER); }); it("should generate custom modifiers and modifier tiers together", async () => { @@ -236,7 +236,7 @@ describe("SelectModifierPhase", () => { scene.money = 1000000; const customModifiers: CustomModifierSettings = { guaranteedModifierTypeFuncs: [modifierTypes.MEMORY_MUSHROOM, modifierTypes.TM_COMMON], - guaranteedModifierTiers: [ModifierTier.MASTER, ModifierTier.MASTER], + guaranteedModifierTiers: [RewardTier.MASTER, RewardTier.MASTER], }; const selectModifierPhase = new SelectModifierPhase(0, undefined, customModifiers); scene.phaseManager.unshiftPhase(selectModifierPhase); @@ -250,8 +250,8 @@ describe("SelectModifierPhase", () => { expect(modifierSelectHandler.options.length).toEqual(4); expect(modifierSelectHandler.options[0].modifierTypeOption.type.id).toEqual("MEMORY_MUSHROOM"); expect(modifierSelectHandler.options[1].modifierTypeOption.type.id).toEqual("TM_COMMON"); - expect(modifierSelectHandler.options[2].modifierTypeOption.type.tier).toEqual(ModifierTier.MASTER); - expect(modifierSelectHandler.options[3].modifierTypeOption.type.tier).toEqual(ModifierTier.MASTER); + expect(modifierSelectHandler.options[2].modifierTypeOption.type.tier).toEqual(RewardTier.MASTER); + expect(modifierSelectHandler.options[3].modifierTypeOption.type.tier).toEqual(RewardTier.MASTER); }); it("should fill remaining modifiers if fillRemaining is true with custom modifiers", async () => { @@ -259,7 +259,7 @@ describe("SelectModifierPhase", () => { scene.money = 1000000; const customModifiers: CustomModifierSettings = { guaranteedModifierTypeFuncs: [modifierTypes.MEMORY_MUSHROOM], - guaranteedModifierTiers: [ModifierTier.MASTER], + guaranteedModifierTiers: [RewardTier.MASTER], fillRemaining: true, }; const selectModifierPhase = new SelectModifierPhase(0, undefined, customModifiers); @@ -273,6 +273,6 @@ describe("SelectModifierPhase", () => { ) as ModifierSelectUiHandler; expect(modifierSelectHandler.options.length).toEqual(3); expect(modifierSelectHandler.options[0].modifierTypeOption.type.id).toEqual("MEMORY_MUSHROOM"); - expect(modifierSelectHandler.options[1].modifierTypeOption.type.tier).toEqual(ModifierTier.MASTER); + expect(modifierSelectHandler.options[1].modifierTypeOption.type.tier).toEqual(RewardTier.MASTER); }); });