mirror of
https://github.com/pagefaultgames/pokerogue.git
synced 2025-12-24 10:39:15 +01:00
Replaced ModifierTier with RewardTier
This commit is contained in:
parent
ebf0f3e352
commit
ede7fe4615
@ -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,
|
||||
}),
|
||||
|
||||
@ -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,
|
||||
};
|
||||
|
||||
@ -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,
|
||||
});
|
||||
|
||||
@ -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],
|
||||
|
||||
@ -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],
|
||||
|
||||
@ -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++) {
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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,
|
||||
};
|
||||
|
||||
@ -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,
|
||||
});
|
||||
|
||||
|
||||
@ -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`);
|
||||
|
||||
@ -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,
|
||||
|
||||
@ -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(
|
||||
|
||||
@ -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,
|
||||
},
|
||||
|
||||
@ -1,8 +0,0 @@
|
||||
export enum ModifierTier {
|
||||
COMMON,
|
||||
GREAT,
|
||||
ULTRA,
|
||||
ROGUE,
|
||||
MASTER,
|
||||
LUXURY,
|
||||
}
|
||||
@ -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]);
|
||||
}
|
||||
}
|
||||
|
||||
@ -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;
|
||||
});
|
||||
}
|
||||
|
||||
@ -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);
|
||||
}
|
||||
|
||||
@ -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);
|
||||
|
||||
|
||||
@ -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());
|
||||
|
||||
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@ -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,
|
||||
}),
|
||||
);
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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);
|
||||
});
|
||||
|
||||
@ -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);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
@ -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);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
@ -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);
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
@ -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);
|
||||
});
|
||||
});
|
||||
|
||||
Loading…
Reference in New Issue
Block a user