mirror of
https://github.com/pagefaultgames/pokerogue.git
synced 2025-08-24 08:19:33 +02:00
Add docstrings, passives.ts
This commit is contained in:
parent
e28e33b335
commit
4a6dd3da86
574
src/data/balance/passives.ts
Normal file
574
src/data/balance/passives.ts
Normal file
@ -0,0 +1,574 @@
|
||||
import { Abilities } from "#app/enums/abilities";
|
||||
import { Species } from "#app/enums/species";
|
||||
|
||||
export const starterPassiveAbilities = {
|
||||
[Species.BULBASAUR]: Abilities.GRASSY_SURGE,
|
||||
[Species.CHARMANDER]: Abilities.BEAST_BOOST,
|
||||
[Species.SQUIRTLE]: Abilities.STURDY,
|
||||
[Species.CATERPIE]: Abilities.MAGICIAN,
|
||||
[Species.WEEDLE]: Abilities.TINTED_LENS,
|
||||
[Species.PIDGEY]: Abilities.SHEER_FORCE,
|
||||
[Species.RATTATA]: Abilities.STRONG_JAW,
|
||||
[Species.SPEAROW]: Abilities.MOXIE,
|
||||
[Species.EKANS]: Abilities.REGENERATOR,
|
||||
[Species.SANDSHREW]: Abilities.TOUGH_CLAWS,
|
||||
[Species.NIDORAN_F]: Abilities.FLARE_BOOST,
|
||||
[Species.NIDORAN_M]: Abilities.GUTS,
|
||||
[Species.VULPIX]: Abilities.FUR_COAT,
|
||||
[Species.ZUBAT]: Abilities.INTIMIDATE,
|
||||
[Species.ODDISH]: Abilities.TRIAGE,
|
||||
[Species.PARAS]: Abilities.TRIAGE,
|
||||
[Species.VENONAT]: Abilities.SIMPLE,
|
||||
[Species.DIGLETT]: Abilities.STURDY,
|
||||
[Species.MEOWTH]: Abilities.TOUGH_CLAWS,
|
||||
[Species.PSYDUCK]: Abilities.SIMPLE,
|
||||
[Species.MANKEY]: Abilities.IRON_FIST,
|
||||
[Species.GROWLITHE]: Abilities.SPEED_BOOST,
|
||||
[Species.POLIWAG]: Abilities.NO_GUARD,
|
||||
[Species.ABRA]: Abilities.PSYCHIC_SURGE,
|
||||
[Species.MACHOP]: Abilities.QUICK_FEET,
|
||||
[Species.BELLSPROUT]: Abilities.FLOWER_GIFT,
|
||||
[Species.TENTACOOL]: Abilities.TOXIC_CHAIN,
|
||||
[Species.GEODUDE]: Abilities.DRY_SKIN,
|
||||
[Species.PONYTA]: Abilities.MAGIC_GUARD,
|
||||
[Species.SLOWPOKE]: Abilities.UNAWARE,
|
||||
[Species.MAGNEMITE]: Abilities.LEVITATE,
|
||||
[Species.FARFETCHD]: Abilities.SNIPER,
|
||||
[Species.DODUO]: Abilities.PARENTAL_BOND,
|
||||
[Species.SEEL]: Abilities.WATER_BUBBLE,
|
||||
[Species.GRIMER]: Abilities.WATER_ABSORB,
|
||||
[Species.SHELLDER]: Abilities.ICE_SCALES,
|
||||
[Species.GASTLY]: Abilities.SHADOW_SHIELD,
|
||||
[Species.ONIX]: Abilities.ROCKY_PAYLOAD,
|
||||
[Species.DROWZEE]: Abilities.MAGICIAN,
|
||||
[Species.KRABBY]: Abilities.THERMAL_EXCHANGE,
|
||||
[Species.VOLTORB]: Abilities.TRANSISTOR,
|
||||
[Species.EXEGGCUTE]: Abilities.RIPEN,
|
||||
[Species.CUBONE]: Abilities.PARENTAL_BOND,
|
||||
[Species.LICKITUNG]: Abilities.CHEEK_POUCH,
|
||||
[Species.KOFFING]: Abilities.PARENTAL_BOND,
|
||||
[Species.RHYHORN]: Abilities.FILTER,
|
||||
[Species.TANGELA]: Abilities.SEED_SOWER,
|
||||
[Species.KANGASKHAN]: Abilities.GUTS,
|
||||
[Species.HORSEA]: Abilities.DRAGONS_MAW,
|
||||
[Species.GOLDEEN]: Abilities.MULTISCALE,
|
||||
[Species.STARYU]: Abilities.REGENERATOR,
|
||||
[Species.SCYTHER]: Abilities.TINTED_LENS,
|
||||
[Species.PINSIR]: Abilities.TINTED_LENS,
|
||||
[Species.TAUROS]: Abilities.STAMINA,
|
||||
[Species.MAGIKARP]: Abilities.MULTISCALE,
|
||||
[Species.LAPRAS]: Abilities.LIGHTNING_ROD,
|
||||
[Species.DITTO]: Abilities.ADAPTABILITY,
|
||||
[Species.EEVEE]: Abilities.PICKUP,
|
||||
[Species.PORYGON]: Abilities.PROTEAN,
|
||||
[Species.OMANYTE]: Abilities.STURDY,
|
||||
[Species.KABUTO]: Abilities.TOUGH_CLAWS,
|
||||
[Species.AERODACTYL]: Abilities.ORICHALCUM_PULSE,
|
||||
[Species.ARTICUNO]: Abilities.SNOW_WARNING,
|
||||
[Species.ZAPDOS]: Abilities.DRIZZLE,
|
||||
[Species.MOLTRES]: Abilities.DROUGHT,
|
||||
[Species.DRATINI]: Abilities.AERILATE,
|
||||
[Species.MEWTWO]: Abilities.NEUROFORCE,
|
||||
[Species.MEW]: Abilities.PROTEAN,
|
||||
[Species.CHIKORITA]: Abilities.THICK_FAT,
|
||||
[Species.CYNDAQUIL]: Abilities.DROUGHT,
|
||||
[Species.TOTODILE]: Abilities.TOUGH_CLAWS,
|
||||
[Species.SENTRET]: Abilities.PICKUP,
|
||||
[Species.HOOTHOOT]: Abilities.AERILATE,
|
||||
[Species.LEDYBA]: Abilities.PRANKSTER,
|
||||
[Species.SPINARAK]: Abilities.PRANKSTER,
|
||||
[Species.CHINCHOU]: Abilities.WATER_BUBBLE,
|
||||
[Species.PICHU]: Abilities.ELECTRIC_SURGE,
|
||||
[Species.CLEFFA]: Abilities.ANALYTIC,
|
||||
[Species.IGGLYBUFF]: Abilities.HUGE_POWER,
|
||||
[Species.TOGEPI]: Abilities.PIXILATE,
|
||||
[Species.NATU]: Abilities.TINTED_LENS,
|
||||
[Species.MAREEP]: Abilities.ELECTROMORPHOSIS,
|
||||
[Species.HOPPIP]: Abilities.FLUFFY,
|
||||
[Species.AIPOM]: Abilities.SCRAPPY,
|
||||
[Species.SUNKERN]: Abilities.DROUGHT,
|
||||
[Species.YANMA]: Abilities.SHEER_FORCE,
|
||||
[Species.WOOPER]: Abilities.COMATOSE,
|
||||
[Species.MURKROW]: Abilities.DARK_AURA,
|
||||
[Species.MISDREAVUS]: Abilities.BEADS_OF_RUIN,
|
||||
[Species.UNOWN]: Abilities.PICKUP,
|
||||
[Species.GIRAFARIG]: Abilities.PARENTAL_BOND,
|
||||
[Species.PINECO]: Abilities.IRON_BARBS,
|
||||
[Species.DUNSPARCE]: Abilities.UNAWARE,
|
||||
[Species.GLIGAR]: Abilities.TOXIC_BOOST,
|
||||
[Species.SNUBBULL]: Abilities.PIXILATE,
|
||||
[Species.QWILFISH]: Abilities.TOXIC_DEBRIS,
|
||||
[Species.SHUCKLE]: Abilities.HARVEST,
|
||||
[Species.HERACROSS]: Abilities.TECHNICIAN,
|
||||
[Species.SNEASEL]: Abilities.TOUGH_CLAWS,
|
||||
[Species.TEDDIURSA]: Abilities.THICK_FAT,
|
||||
[Species.SLUGMA]: Abilities.DESOLATE_LAND,
|
||||
[Species.SWINUB]: Abilities.SLUSH_RUSH,
|
||||
[Species.CORSOLA]: Abilities.STORM_DRAIN,
|
||||
[Species.REMORAID]: Abilities.SIMPLE,
|
||||
[Species.DELIBIRD]: Abilities.HUGE_POWER,
|
||||
[Species.SKARMORY]: Abilities.LIGHTNING_ROD,
|
||||
[Species.HOUNDOUR]: Abilities.DROUGHT,
|
||||
[Species.PHANPY]: Abilities.SPEED_BOOST,
|
||||
[Species.STANTLER]: Abilities.SPEED_BOOST,
|
||||
[Species.SMEARGLE]: Abilities.PRANKSTER,
|
||||
[Species.TYROGUE]: Abilities.MOXIE,
|
||||
[Species.SMOOCHUM]: Abilities.PSYCHIC_SURGE,
|
||||
[Species.ELEKID]: Abilities.SHEER_FORCE,
|
||||
[Species.MAGBY]: Abilities.CONTRARY,
|
||||
[Species.MILTANK]: Abilities.STAMINA,
|
||||
[Species.RAIKOU]: Abilities.TRANSISTOR,
|
||||
[Species.ENTEI]: Abilities.MOXIE,
|
||||
[Species.SUICUNE]: Abilities.UNAWARE,
|
||||
[Species.LARVITAR]: Abilities.SAND_RUSH,
|
||||
[Species.LUGIA]: Abilities.DELTA_STREAM,
|
||||
[Species.HO_OH]: Abilities.MAGIC_GUARD,
|
||||
[Species.CELEBI]: Abilities.PSYCHIC_SURGE,
|
||||
[Species.TREECKO]: Abilities.TINTED_LENS,
|
||||
[Species.TORCHIC]: Abilities.RECKLESS,
|
||||
[Species.MUDKIP]: Abilities.DRIZZLE,
|
||||
[Species.POOCHYENA]: Abilities.TOUGH_CLAWS,
|
||||
[Species.ZIGZAGOON]: Abilities.RUN_AWAY,
|
||||
[Species.WURMPLE]: Abilities.SIMPLE,
|
||||
[Species.LOTAD]: Abilities.DRIZZLE,
|
||||
[Species.SEEDOT]: Abilities.SHARPNESS,
|
||||
[Species.TAILLOW]: Abilities.AERILATE,
|
||||
[Species.WINGULL]: Abilities.SWIFT_SWIM,
|
||||
[Species.RALTS]: Abilities.PSYCHIC_SURGE,
|
||||
[Species.SURSKIT]: Abilities.WATER_BUBBLE,
|
||||
[Species.SHROOMISH]: Abilities.GUTS,
|
||||
[Species.SLAKOTH]: Abilities.GUTS,
|
||||
[Species.NINCADA]: Abilities.MAGIC_GUARD,
|
||||
[Species.WHISMUR]: Abilities.PUNK_ROCK,
|
||||
[Species.MAKUHITA]: Abilities.STAMINA,
|
||||
[Species.AZURILL]: Abilities.MISTY_SURGE,
|
||||
[Species.NOSEPASS]: Abilities.LEVITATE,
|
||||
[Species.SKITTY]: Abilities.SCRAPPY,
|
||||
[Species.SABLEYE]: Abilities.UNNERVE,
|
||||
[Species.MAWILE]: Abilities.UNNERVE,
|
||||
[Species.ARON]: Abilities.EARTH_EATER,
|
||||
[Species.MEDITITE]: Abilities.MINDS_EYE,
|
||||
[Species.ELECTRIKE]: Abilities.ELECTRIC_SURGE,
|
||||
[Species.PLUSLE]: Abilities.POWER_SPOT,
|
||||
[Species.MINUN]: Abilities.POWER_SPOT,
|
||||
[Species.VOLBEAT]: Abilities.HONEY_GATHER,
|
||||
[Species.ILLUMISE]: Abilities.HONEY_GATHER,
|
||||
[Species.GULPIN]: Abilities.EARTH_EATER,
|
||||
[Species.CARVANHA]: Abilities.SHEER_FORCE,
|
||||
[Species.WAILMER]: Abilities.LEVITATE,
|
||||
[Species.NUMEL]: Abilities.FUR_COAT,
|
||||
[Species.TORKOAL]: Abilities.ANALYTIC,
|
||||
[Species.SPOINK]: Abilities.PSYCHIC_SURGE,
|
||||
[Species.SPINDA]: Abilities.SIMPLE,
|
||||
[Species.TRAPINCH]: Abilities.ADAPTABILITY,
|
||||
[Species.CACNEA]: Abilities.SAND_RUSH,
|
||||
[Species.SWABLU]: Abilities.ADAPTABILITY,
|
||||
[Species.ZANGOOSE]: Abilities.POISON_HEAL,
|
||||
[Species.SEVIPER]: Abilities.MULTISCALE,
|
||||
[Species.LUNATONE]: Abilities.SHADOW_SHIELD,
|
||||
[Species.SOLROCK]: Abilities.DROUGHT,
|
||||
[Species.BARBOACH]: Abilities.SIMPLE,
|
||||
[Species.CORPHISH]: Abilities.TOUGH_CLAWS,
|
||||
[Species.BALTOY]: Abilities.WELL_BAKED_BODY,
|
||||
[Species.LILEEP]: Abilities.SEED_SOWER,
|
||||
[Species.ANORITH]: Abilities.WATER_ABSORB,
|
||||
[Species.FEEBAS]: Abilities.MAGIC_GUARD,
|
||||
[Species.CASTFORM]: Abilities.ADAPTABILITY,
|
||||
[Species.KECLEON]: Abilities.ADAPTABILITY,
|
||||
[Species.SHUPPET]: Abilities.SHADOW_SHIELD,
|
||||
[Species.DUSKULL]: Abilities.UNNERVE,
|
||||
[Species.TROPIUS]: Abilities.RIPEN,
|
||||
[Species.ABSOL]: Abilities.SHARPNESS,
|
||||
[Species.WYNAUT]: Abilities.STURDY,
|
||||
[Species.SNORUNT]: Abilities.SNOW_WARNING,
|
||||
[Species.SPHEAL]: Abilities.UNAWARE,
|
||||
[Species.CLAMPERL]: Abilities.DRIZZLE,
|
||||
[Species.RELICANTH]: Abilities.PRIMORDIAL_SEA,
|
||||
[Species.LUVDISC]: Abilities.MULTISCALE,
|
||||
[Species.BAGON]: Abilities.DRAGONS_MAW,
|
||||
[Species.BELDUM]: Abilities.LEVITATE,
|
||||
[Species.REGIROCK]: Abilities.SAND_STREAM,
|
||||
[Species.REGICE]: Abilities.SNOW_WARNING,
|
||||
[Species.REGISTEEL]: Abilities.FILTER,
|
||||
[Species.LATIAS]: Abilities.PRISM_ARMOR,
|
||||
[Species.LATIOS]: Abilities.TINTED_LENS,
|
||||
[Species.KYOGRE]: Abilities.MOLD_BREAKER,
|
||||
[Species.GROUDON]: Abilities.TURBOBLAZE,
|
||||
[Species.RAYQUAZA]: Abilities.UNNERVE,
|
||||
[Species.JIRACHI]: Abilities.COMATOSE,
|
||||
[Species.DEOXYS]: Abilities.PROTEAN,
|
||||
[Species.TURTWIG]: Abilities.THICK_FAT,
|
||||
[Species.CHIMCHAR]: Abilities.BEAST_BOOST,
|
||||
[Species.PIPLUP]: Abilities.DRIZZLE,
|
||||
[Species.STARLY]: Abilities.ROCK_HEAD,
|
||||
[Species.BIDOOF]: Abilities.SAP_SIPPER,
|
||||
[Species.KRICKETOT]: Abilities.SHARPNESS,
|
||||
[Species.SHINX]: Abilities.SPEED_BOOST,
|
||||
[Species.BUDEW]: Abilities.GRASSY_SURGE,
|
||||
[Species.CRANIDOS]: Abilities.ROCK_HEAD,
|
||||
[Species.SHIELDON]: Abilities.EARTH_EATER,
|
||||
[Species.BURMY]: Abilities.STURDY,
|
||||
[Species.COMBEE]: Abilities.INTIMIDATE,
|
||||
[Species.PACHIRISU]: Abilities.HONEY_GATHER,
|
||||
[Species.BUIZEL]: Abilities.MOXIE,
|
||||
[Species.CHERUBI]: Abilities.ORICHALCUM_PULSE,
|
||||
[Species.SHELLOS]: Abilities.REGENERATOR,
|
||||
[Species.DRIFLOON]: Abilities.MAGIC_GUARD,
|
||||
[Species.BUNEARY]: Abilities.ADAPTABILITY,
|
||||
[Species.GLAMEOW]: Abilities.INTIMIDATE,
|
||||
[Species.CHINGLING]: Abilities.PUNK_ROCK,
|
||||
[Species.STUNKY]: Abilities.NEUTRALIZING_GAS,
|
||||
[Species.BRONZOR]: Abilities.BULLETPROOF,
|
||||
[Species.BONSLY]: Abilities.SAP_SIPPER,
|
||||
[Species.MIME_JR]: Abilities.OPPORTUNIST,
|
||||
[Species.HAPPINY]: Abilities.FUR_COAT,
|
||||
[Species.CHATOT]: Abilities.PUNK_ROCK,
|
||||
[Species.SPIRITOMB]: Abilities.VESSEL_OF_RUIN,
|
||||
[Species.GIBLE]: Abilities.SAND_STREAM,
|
||||
[Species.MUNCHLAX]: Abilities.RIPEN,
|
||||
[Species.RIOLU]: Abilities.MINDS_EYE,
|
||||
[Species.HIPPOPOTAS]: Abilities.UNAWARE,
|
||||
[Species.SKORUPI]: Abilities.SUPER_LUCK,
|
||||
[Species.CROAGUNK]: Abilities.MOXIE,
|
||||
[Species.CARNIVINE]: Abilities.ARENA_TRAP,
|
||||
[Species.FINNEON]: Abilities.WATER_BUBBLE,
|
||||
[Species.MANTYKE]: Abilities.UNAWARE,
|
||||
[Species.SNOVER]: Abilities.THICK_FAT,
|
||||
[Species.ROTOM]: Abilities.HADRON_ENGINE,
|
||||
[Species.UXIE]: Abilities.UNAWARE,
|
||||
[Species.MESPRIT]: Abilities.MOODY,
|
||||
[Species.AZELF]: Abilities.NEUROFORCE,
|
||||
[Species.DIALGA]: Abilities.LEVITATE,
|
||||
[Species.PALKIA]: Abilities.SPEED_BOOST,
|
||||
[Species.HEATRAN]: Abilities.EARTH_EATER,
|
||||
[Species.REGIGIGAS]: Abilities.SCRAPPY,
|
||||
[Species.GIRATINA]: Abilities.SHADOW_SHIELD,
|
||||
[Species.CRESSELIA]: Abilities.SHADOW_SHIELD,
|
||||
[Species.PHIONE]: Abilities.SIMPLE,
|
||||
[Species.MANAPHY]: Abilities.PRIMORDIAL_SEA,
|
||||
[Species.DARKRAI]: Abilities.UNNERVE,
|
||||
[Species.SHAYMIN]: Abilities.WIND_RIDER,
|
||||
[Species.ARCEUS]: Abilities.ADAPTABILITY,
|
||||
[Species.VICTINI]: Abilities.SHEER_FORCE,
|
||||
[Species.SNIVY]: Abilities.MULTISCALE,
|
||||
[Species.TEPIG]: Abilities.ROCK_HEAD,
|
||||
[Species.OSHAWOTT]: Abilities.INTREPID_SWORD,
|
||||
[Species.PATRAT]: Abilities.NO_GUARD,
|
||||
[Species.LILLIPUP]: Abilities.FUR_COAT,
|
||||
[Species.PURRLOIN]: Abilities.PICKUP,
|
||||
[Species.PANSAGE]: Abilities.WELL_BAKED_BODY,
|
||||
[Species.PANSEAR]: Abilities.WATER_ABSORB,
|
||||
[Species.PANPOUR]: Abilities.SAP_SIPPER,
|
||||
[Species.MUNNA]: Abilities.NEUTRALIZING_GAS,
|
||||
[Species.PIDOVE]: Abilities.SNIPER,
|
||||
[Species.BLITZLE]: Abilities.ELECTRIC_SURGE,
|
||||
[Species.ROGGENROLA]: Abilities.SOLID_ROCK,
|
||||
[Species.WOOBAT]: Abilities.OPPORTUNIST,
|
||||
[Species.DRILBUR]: Abilities.SAND_STREAM,
|
||||
[Species.AUDINO]: Abilities.FRIEND_GUARD,
|
||||
[Species.TIMBURR]: Abilities.ROCKY_PAYLOAD,
|
||||
[Species.TYMPOLE]: Abilities.POISON_HEAL,
|
||||
[Species.THROH]: Abilities.STAMINA,
|
||||
[Species.SAWK]: Abilities.SCRAPPY,
|
||||
[Species.SEWADDLE]: Abilities.SHARPNESS,
|
||||
[Species.VENIPEDE]: Abilities.STAMINA,
|
||||
[Species.COTTONEE]: Abilities.FLUFFY,
|
||||
[Species.PETILIL]: Abilities.SIMPLE,
|
||||
[Species.BASCULIN]: Abilities.SUPREME_OVERLORD,
|
||||
[Species.SANDILE]: Abilities.TOUGH_CLAWS,
|
||||
[Species.DARUMAKA]: Abilities.GORILLA_TACTICS,
|
||||
[Species.MARACTUS]: Abilities.WELL_BAKED_BODY,
|
||||
[Species.DWEBBLE]: Abilities.ROCKY_PAYLOAD,
|
||||
[Species.SCRAGGY]: Abilities.PROTEAN,
|
||||
[Species.SIGILYPH]: Abilities.FLARE_BOOST,
|
||||
[Species.YAMASK]: Abilities.PURIFYING_SALT,
|
||||
[Species.TIRTOUGA]: Abilities.WATER_ABSORB,
|
||||
[Species.ARCHEN]: Abilities.MULTISCALE,
|
||||
[Species.TRUBBISH]: Abilities.NEUTRALIZING_GAS,
|
||||
[Species.ZORUA]: Abilities.DARK_AURA,
|
||||
[Species.MINCCINO]: Abilities.FUR_COAT,
|
||||
[Species.GOTHITA]: Abilities.UNNERVE,
|
||||
[Species.SOLOSIS]: Abilities.PSYCHIC_SURGE,
|
||||
[Species.DUCKLETT]: Abilities.DRIZZLE,
|
||||
[Species.VANILLITE]: Abilities.SLUSH_RUSH,
|
||||
[Species.DEERLING]: Abilities.FUR_COAT,
|
||||
[Species.EMOLGA]: Abilities.TRANSISTOR,
|
||||
[Species.KARRABLAST]: Abilities.QUICK_DRAW,
|
||||
[Species.FOONGUS]: Abilities.THICK_FAT,
|
||||
[Species.FRILLISH]: Abilities.POISON_HEAL,
|
||||
[Species.ALOMOMOLA]: Abilities.MULTISCALE,
|
||||
[Species.JOLTIK]: Abilities.TRANSISTOR,
|
||||
[Species.FERROSEED]: Abilities.ROUGH_SKIN,
|
||||
[Species.KLINK]: Abilities.STEELY_SPIRIT,
|
||||
[Species.TYNAMO]: Abilities.POISON_HEAL,
|
||||
[Species.ELGYEM]: Abilities.PRISM_ARMOR,
|
||||
[Species.LITWICK]: Abilities.SOUL_HEART,
|
||||
[Species.AXEW]: Abilities.DRAGONS_MAW,
|
||||
[Species.CUBCHOO]: Abilities.TOUGH_CLAWS,
|
||||
[Species.CRYOGONAL]: Abilities.SNOW_WARNING,
|
||||
[Species.SHELMET]: Abilities.PROTEAN,
|
||||
[Species.STUNFISK]: Abilities.STORM_DRAIN,
|
||||
[Species.MIENFOO]: Abilities.NO_GUARD,
|
||||
[Species.DRUDDIGON]: Abilities.INTIMIDATE,
|
||||
[Species.GOLETT]: Abilities.SHADOW_SHIELD,
|
||||
[Species.PAWNIARD]: Abilities.SWORD_OF_RUIN,
|
||||
[Species.BOUFFALANT]: Abilities.ROCK_HEAD,
|
||||
[Species.RUFFLET]: Abilities.SPEED_BOOST,
|
||||
[Species.VULLABY]: Abilities.THICK_FAT,
|
||||
[Species.HEATMOR]: Abilities.CONTRARY,
|
||||
[Species.DURANT]: Abilities.COMPOUND_EYES,
|
||||
[Species.DEINO]: Abilities.PARENTAL_BOND,
|
||||
[Species.LARVESTA]: Abilities.DROUGHT,
|
||||
[Species.COBALION]: Abilities.INTREPID_SWORD,
|
||||
[Species.TERRAKION]: Abilities.ROCKY_PAYLOAD,
|
||||
[Species.VIRIZION]: Abilities.SHARPNESS,
|
||||
[Species.TORNADUS]: Abilities.DRIZZLE,
|
||||
[Species.THUNDURUS]: Abilities.DRIZZLE,
|
||||
[Species.RESHIRAM]: Abilities.ORICHALCUM_PULSE,
|
||||
[Species.ZEKROM]: Abilities.HADRON_ENGINE,
|
||||
[Species.LANDORUS]: Abilities.STORM_DRAIN,
|
||||
[Species.KYUREM]: Abilities.SNOW_WARNING,
|
||||
[Species.KELDEO]: Abilities.GRIM_NEIGH,
|
||||
[Species.MELOETTA]: Abilities.MINDS_EYE,
|
||||
[Species.GENESECT]: Abilities.PROTEAN,
|
||||
[Species.CHESPIN]: Abilities.DAUNTLESS_SHIELD,
|
||||
[Species.FENNEKIN]: Abilities.PSYCHIC_SURGE,
|
||||
[Species.FROAKIE]: Abilities.STAKEOUT,
|
||||
[Species.BUNNELBY]: Abilities.GUTS,
|
||||
[Species.FLETCHLING]: Abilities.MAGIC_GUARD,
|
||||
[Species.SCATTERBUG]: Abilities.PRANKSTER,
|
||||
[Species.LITLEO]: Abilities.BEAST_BOOST,
|
||||
[Species.FLABEBE]: Abilities.GRASSY_SURGE,
|
||||
[Species.SKIDDO]: Abilities.SEED_SOWER,
|
||||
[Species.PANCHAM]: Abilities.FUR_COAT,
|
||||
[Species.FURFROU]: Abilities.FLUFFY,
|
||||
[Species.ESPURR]: Abilities.FUR_COAT,
|
||||
[Species.HONEDGE]: Abilities.SHARPNESS,
|
||||
[Species.SPRITZEE]: Abilities.FUR_COAT,
|
||||
[Species.SWIRLIX]: Abilities.WELL_BAKED_BODY,
|
||||
[Species.INKAY]: Abilities.UNNERVE,
|
||||
[Species.BINACLE]: Abilities.SAP_SIPPER,
|
||||
[Species.SKRELP]: Abilities.DRAGONS_MAW,
|
||||
[Species.CLAUNCHER]: Abilities.SWIFT_SWIM,
|
||||
[Species.HELIOPTILE]: Abilities.PROTEAN,
|
||||
[Species.TYRUNT]: Abilities.RECKLESS,
|
||||
[Species.AMAURA]: Abilities.ICE_SCALES,
|
||||
[Species.HAWLUCHA]: Abilities.MOXIE,
|
||||
[Species.DEDENNE]: Abilities.PIXILATE,
|
||||
[Species.CARBINK]: Abilities.SOLID_ROCK,
|
||||
[Species.GOOMY]: Abilities.REGENERATOR,
|
||||
[Species.KLEFKI]: Abilities.LEVITATE,
|
||||
[Species.PHANTUMP]: Abilities.SHADOW_TAG,
|
||||
[Species.PUMPKABOO]: Abilities.WELL_BAKED_BODY,
|
||||
[Species.BERGMITE]: Abilities.ICE_SCALES,
|
||||
[Species.NOIBAT]: Abilities.PUNK_ROCK,
|
||||
[Species.XERNEAS]: Abilities.HARVEST,
|
||||
[Species.YVELTAL]: Abilities.SOUL_HEART,
|
||||
[Species.ZYGARDE]: Abilities.HUGE_POWER,
|
||||
[Species.DIANCIE]: Abilities.LEVITATE,
|
||||
[Species.HOOPA]: Abilities.OPPORTUNIST,
|
||||
[Species.VOLCANION]: Abilities.FILTER,
|
||||
[Species.ROWLET]: Abilities.SNIPER,
|
||||
[Species.LITTEN]: Abilities.OPPORTUNIST,
|
||||
[Species.POPPLIO]: Abilities.PUNK_ROCK,
|
||||
[Species.PIKIPEK]: Abilities.TECHNICIAN,
|
||||
[Species.YUNGOOS]: Abilities.TOUGH_CLAWS,
|
||||
[Species.GRUBBIN]: Abilities.SPEED_BOOST,
|
||||
[Species.CRABRAWLER]: Abilities.WATER_BUBBLE,
|
||||
[Species.ORICORIO]: Abilities.ADAPTABILITY,
|
||||
[Species.CUTIEFLY]: Abilities.TINTED_LENS,
|
||||
[Species.ROCKRUFF]: Abilities.ROCKY_PAYLOAD,
|
||||
[Species.WISHIWASHI]: Abilities.REGENERATOR,
|
||||
[Species.MAREANIE]: Abilities.TOXIC_DEBRIS,
|
||||
[Species.MUDBRAY]: Abilities.CUD_CHEW,
|
||||
[Species.DEWPIDER]: Abilities.TINTED_LENS,
|
||||
[Species.FOMANTIS]: Abilities.SHARPNESS,
|
||||
[Species.MORELULL]: Abilities.TRIAGE,
|
||||
[Species.SALANDIT]: Abilities.DRAGONS_MAW,
|
||||
[Species.STUFFUL]: Abilities.SCRAPPY,
|
||||
[Species.BOUNSWEET]: Abilities.MOXIE,
|
||||
[Species.COMFEY]: Abilities.FRIEND_GUARD,
|
||||
[Species.ORANGURU]: Abilities.POWER_SPOT,
|
||||
[Species.PASSIMIAN]: Abilities.LIBERO,
|
||||
[Species.WIMPOD]: Abilities.REGENERATOR,
|
||||
[Species.SANDYGAST]: Abilities.SAND_SPIT,
|
||||
[Species.PYUKUMUKU]: Abilities.PURIFYING_SALT,
|
||||
[Species.TYPE_NULL]: Abilities.ADAPTABILITY,
|
||||
[Species.MINIOR]: Abilities.STURDY,
|
||||
[Species.KOMALA]: Abilities.GUTS,
|
||||
[Species.TURTONATOR]: Abilities.DAUNTLESS_SHIELD,
|
||||
[Species.TOGEDEMARU]: Abilities.ROUGH_SKIN,
|
||||
[Species.MIMIKYU]: Abilities.TOUGH_CLAWS,
|
||||
[Species.BRUXISH]: Abilities.MULTISCALE,
|
||||
[Species.DRAMPA]: Abilities.THICK_FAT,
|
||||
[Species.DHELMISE]: Abilities.WATER_BUBBLE,
|
||||
[Species.JANGMO_O]: Abilities.DAUNTLESS_SHIELD,
|
||||
[Species.TAPU_KOKO]: Abilities.TRANSISTOR,
|
||||
[Species.TAPU_LELE]: Abilities.SHEER_FORCE,
|
||||
[Species.TAPU_BULU]: Abilities.TRIAGE,
|
||||
[Species.TAPU_FINI]: Abilities.FAIRY_AURA,
|
||||
[Species.COSMOG]: Abilities.BEAST_BOOST,
|
||||
[Species.NIHILEGO]: Abilities.LEVITATE,
|
||||
[Species.BUZZWOLE]: Abilities.MOXIE,
|
||||
[Species.PHEROMOSA]: Abilities.TINTED_LENS,
|
||||
[Species.XURKITREE]: Abilities.TRANSISTOR,
|
||||
[Species.CELESTEELA]: Abilities.HEATPROOF,
|
||||
[Species.KARTANA]: Abilities.SHARPNESS,
|
||||
[Species.GUZZLORD]: Abilities.POISON_HEAL,
|
||||
[Species.NECROZMA]: Abilities.BEAST_BOOST,
|
||||
[Species.MAGEARNA]: Abilities.STEELY_SPIRIT,
|
||||
[Species.MARSHADOW]: Abilities.IRON_FIST,
|
||||
[Species.POIPOLE]: Abilities.SHEER_FORCE,
|
||||
[Species.STAKATAKA]: Abilities.SOLID_ROCK,
|
||||
[Species.BLACEPHALON]: Abilities.MAGIC_GUARD,
|
||||
[Species.ZERAORA]: Abilities.TOUGH_CLAWS,
|
||||
[Species.MELTAN]: Abilities.STEELY_SPIRIT,
|
||||
[Species.GROOKEY]: Abilities.GRASS_PELT,
|
||||
[Species.SCORBUNNY]: Abilities.NO_GUARD,
|
||||
[Species.SOBBLE]: Abilities.SUPER_LUCK,
|
||||
[Species.SKWOVET]: Abilities.HARVEST,
|
||||
[Species.ROOKIDEE]: Abilities.IRON_BARBS,
|
||||
[Species.BLIPBUG]: Abilities.PSYCHIC_SURGE,
|
||||
[Species.NICKIT]: Abilities.MAGICIAN,
|
||||
[Species.GOSSIFLEUR]: Abilities.GRASSY_SURGE,
|
||||
[Species.WOOLOO]: Abilities.SIMPLE,
|
||||
[Species.CHEWTLE]: Abilities.ROCKY_PAYLOAD,
|
||||
[Species.YAMPER]: Abilities.SHEER_FORCE,
|
||||
[Species.ROLYCOLY]: Abilities.SOLID_ROCK,
|
||||
[Species.APPLIN]: Abilities.DRAGONS_MAW,
|
||||
[Species.SILICOBRA]: Abilities.SAND_RUSH,
|
||||
[Species.CRAMORANT]: Abilities.LIGHTNING_ROD,
|
||||
[Species.ARROKUDA]: Abilities.INTIMIDATE,
|
||||
[Species.TOXEL]: Abilities.ELECTRIC_SURGE,
|
||||
[Species.SIZZLIPEDE]: Abilities.SPEED_BOOST,
|
||||
[Species.CLOBBOPUS]: Abilities.WATER_BUBBLE,
|
||||
[Species.SINISTEA]: Abilities.SHADOW_SHIELD,
|
||||
[Species.HATENNA]: Abilities.FAIRY_AURA,
|
||||
[Species.IMPIDIMP]: Abilities.FUR_COAT,
|
||||
[Species.MILCERY]: Abilities.REGENERATOR,
|
||||
[Species.FALINKS]: Abilities.PARENTAL_BOND,
|
||||
[Species.PINCURCHIN]: Abilities.ELECTROMORPHOSIS,
|
||||
[Species.SNOM]: Abilities.SNOW_WARNING,
|
||||
[Species.STONJOURNER]: Abilities.STURDY,
|
||||
[Species.EISCUE]: Abilities.ICE_SCALES,
|
||||
[Species.INDEEDEE]: Abilities.FRIEND_GUARD,
|
||||
[Species.MORPEKO]: Abilities.MOODY,
|
||||
[Species.CUFANT]: Abilities.EARTH_EATER,
|
||||
[Species.DRACOZOLT]: Abilities.NO_GUARD,
|
||||
[Species.ARCTOZOLT]: Abilities.TRANSISTOR,
|
||||
[Species.DRACOVISH]: Abilities.SWIFT_SWIM,
|
||||
[Species.ARCTOVISH]: Abilities.STRONG_JAW,
|
||||
[Species.DURALUDON]: Abilities.STEELWORKER,
|
||||
[Species.DREEPY]: Abilities.PARENTAL_BOND,
|
||||
[Species.ZACIAN]: Abilities.UNNERVE,
|
||||
[Species.ZAMAZENTA]: Abilities.UNNERVE,
|
||||
[Species.ETERNATUS]: Abilities.NEUTRALIZING_GAS,
|
||||
[Species.KUBFU]: Abilities.IRON_FIST,
|
||||
[Species.ZARUDE]: Abilities.TOUGH_CLAWS,
|
||||
[Species.REGIELEKI]: Abilities.ELECTRIC_SURGE,
|
||||
[Species.REGIDRAGO]: Abilities.MULTISCALE,
|
||||
[Species.GLASTRIER]: Abilities.FILTER,
|
||||
[Species.SPECTRIER]: Abilities.SHADOW_SHIELD,
|
||||
[Species.CALYREX]: Abilities.HARVEST,
|
||||
[Species.ENAMORUS]: Abilities.FAIRY_AURA,
|
||||
[Species.SPRIGATITO]: Abilities.MAGICIAN,
|
||||
[Species.FUECOCO]: Abilities.PUNK_ROCK,
|
||||
[Species.QUAXLY]: Abilities.OPPORTUNIST,
|
||||
[Species.LECHONK]: Abilities.SIMPLE,
|
||||
[Species.TAROUNTULA]: Abilities.HONEY_GATHER,
|
||||
[Species.NYMBLE]: Abilities.GUTS,
|
||||
[Species.PAWMI]: Abilities.TRANSISTOR,
|
||||
[Species.TANDEMAUS]: Abilities.SCRAPPY,
|
||||
[Species.FIDOUGH]: Abilities.WATER_ABSORB,
|
||||
[Species.SMOLIV]: Abilities.RIPEN,
|
||||
[Species.SQUAWKABILLY]: Abilities.MOXIE,
|
||||
[Species.NACLI]: Abilities.SOLID_ROCK,
|
||||
[Species.CHARCADET]: Abilities.PRISM_ARMOR,
|
||||
[Species.TADBULB]: Abilities.STAMINA,
|
||||
[Species.WATTREL]: Abilities.SHEER_FORCE,
|
||||
[Species.MASCHIFF]: Abilities.STRONG_JAW,
|
||||
[Species.SHROODLE]: Abilities.CORROSION,
|
||||
[Species.BRAMBLIN]: Abilities.SHADOW_SHIELD,
|
||||
[Species.TOEDSCOOL]: Abilities.PRANKSTER,
|
||||
[Species.KLAWF]: Abilities.WATER_ABSORB,
|
||||
[Species.CAPSAKID]: Abilities.PARENTAL_BOND,
|
||||
[Species.RELLOR]: Abilities.PRANKSTER,
|
||||
[Species.FLITTLE]: Abilities.DAZZLING,
|
||||
[Species.TINKATINK]: Abilities.STEELWORKER,
|
||||
[Species.WIGLETT]: Abilities.STURDY,
|
||||
[Species.BOMBIRDIER]: Abilities.UNBURDEN,
|
||||
[Species.FINIZEN]: Abilities.IRON_FIST,
|
||||
[Species.VAROOM]: Abilities.LEVITATE,
|
||||
[Species.CYCLIZAR]: Abilities.PROTEAN,
|
||||
[Species.ORTHWORM]: Abilities.REGENERATOR,
|
||||
[Species.GLIMMET]: Abilities.LEVITATE,
|
||||
[Species.GREAVARD]: Abilities.FUR_COAT,
|
||||
[Species.FLAMIGO]: Abilities.MOXIE,
|
||||
[Species.CETODDLE]: Abilities.ICE_SCALES,
|
||||
[Species.VELUZA]: Abilities.SUPER_LUCK,
|
||||
[Species.DONDOZO]: Abilities.PARENTAL_BOND,
|
||||
[Species.TATSUGIRI]: Abilities.ADAPTABILITY,
|
||||
[Species.GREAT_TUSK]: Abilities.INTIMIDATE,
|
||||
[Species.SCREAM_TAIL]: Abilities.UNAWARE,
|
||||
[Species.BRUTE_BONNET]: Abilities.CHLOROPHYLL,
|
||||
[Species.FLUTTER_MANE]: Abilities.DAZZLING,
|
||||
[Species.SLITHER_WING]: Abilities.SCRAPPY,
|
||||
[Species.SANDY_SHOCKS]: Abilities.EARTH_EATER,
|
||||
[Species.IRON_TREADS]: Abilities.STEELY_SPIRIT,
|
||||
[Species.IRON_BUNDLE]: Abilities.SNOW_WARNING,
|
||||
[Species.IRON_HANDS]: Abilities.IRON_FIST,
|
||||
[Species.IRON_JUGULIS]: Abilities.LIGHTNING_ROD,
|
||||
[Species.IRON_MOTH]: Abilities.LEVITATE,
|
||||
[Species.IRON_THORNS]: Abilities.SAND_STREAM,
|
||||
[Species.FRIGIBAX]: Abilities.SNOW_WARNING,
|
||||
[Species.GIMMIGHOUL]: Abilities.HONEY_GATHER,
|
||||
[Species.WO_CHIEN]: Abilities.VESSEL_OF_RUIN,
|
||||
[Species.CHIEN_PAO]: Abilities.INTIMIDATE,
|
||||
[Species.TING_LU]: Abilities.STAMINA,
|
||||
[Species.CHI_YU]: Abilities.BERSERK,
|
||||
[Species.ROARING_MOON]: Abilities.TOUGH_CLAWS,
|
||||
[Species.IRON_VALIANT]: Abilities.ADAPTABILITY,
|
||||
[Species.KORAIDON]: Abilities.OPPORTUNIST,
|
||||
[Species.MIRAIDON]: Abilities.OPPORTUNIST,
|
||||
[Species.WALKING_WAKE]: Abilities.BEAST_BOOST,
|
||||
[Species.IRON_LEAVES]: Abilities.SHARPNESS,
|
||||
[Species.POLTCHAGEIST]: Abilities.TRIAGE,
|
||||
[Species.OKIDOGI]: Abilities.FUR_COAT,
|
||||
[Species.MUNKIDORI]: Abilities.NEUROFORCE,
|
||||
[Species.FEZANDIPITI]: Abilities.LEVITATE,
|
||||
[Species.OGERPON]: Abilities.OPPORTUNIST,
|
||||
[Species.GOUGING_FIRE]: Abilities.BEAST_BOOST,
|
||||
[Species.RAGING_BOLT]: Abilities.BEAST_BOOST,
|
||||
[Species.IRON_BOULDER]: Abilities.SHARPNESS,
|
||||
[Species.IRON_CROWN]: Abilities.SHARPNESS,
|
||||
[Species.TERAPAGOS]: Abilities.SOUL_HEART,
|
||||
[Species.PECHARUNT]: Abilities.TOXIC_CHAIN,
|
||||
[Species.ALOLA_RATTATA]: Abilities.ADAPTABILITY,
|
||||
[Species.ALOLA_SANDSHREW]: Abilities.ICE_SCALES,
|
||||
[Species.ALOLA_VULPIX]: Abilities.SHEER_FORCE,
|
||||
[Species.ALOLA_DIGLETT]: Abilities.STURDY,
|
||||
[Species.ALOLA_MEOWTH]: Abilities.DARK_AURA,
|
||||
[Species.ALOLA_GEODUDE]: Abilities.DRY_SKIN,
|
||||
[Species.ALOLA_GRIMER]: Abilities.TOXIC_DEBRIS,
|
||||
[Species.ETERNAL_FLOETTE]: Abilities.MAGIC_GUARD,
|
||||
[Species.GALAR_MEOWTH]: Abilities.STEELWORKER,
|
||||
[Species.GALAR_PONYTA]: Abilities.MOXIE,
|
||||
[Species.GALAR_SLOWPOKE]: Abilities.UNAWARE,
|
||||
[Species.GALAR_FARFETCHD]: Abilities.INTREPID_SWORD,
|
||||
[Species.GALAR_ARTICUNO]: Abilities.SERENE_GRACE,
|
||||
[Species.GALAR_ZAPDOS]: Abilities.TOUGH_CLAWS,
|
||||
[Species.GALAR_MOLTRES]: Abilities.DARK_AURA,
|
||||
[Species.GALAR_CORSOLA]: Abilities.SHADOW_SHIELD,
|
||||
[Species.GALAR_ZIGZAGOON]: Abilities.POISON_HEAL,
|
||||
[Species.GALAR_DARUMAKA]: Abilities.FLASH_FIRE,
|
||||
[Species.GALAR_YAMASK]: Abilities.TABLETS_OF_RUIN,
|
||||
[Species.GALAR_STUNFISK]: Abilities.ARENA_TRAP,
|
||||
[Species.HISUI_GROWLITHE]: Abilities.RECKLESS,
|
||||
[Species.HISUI_VOLTORB]: Abilities.TRANSISTOR,
|
||||
[Species.HISUI_QWILFISH]: Abilities.MERCILESS,
|
||||
[Species.HISUI_SNEASEL]: Abilities.SCRAPPY,
|
||||
[Species.HISUI_ZORUA]: Abilities.ADAPTABILITY,
|
||||
[Species.PALDEA_TAUROS]: Abilities.ADAPTABILITY,
|
||||
[Species.PALDEA_WOOPER]: Abilities.THICK_FAT,
|
||||
[Species.BLOODMOON_URSALUNA]: Abilities.BERSERK
|
||||
};
|
@ -1,8 +1,12 @@
|
||||
import { Abilities } from "#enums/abilities";
|
||||
import { Species } from "#enums/species";
|
||||
|
||||
export const POKERUS_STARTER_COUNT = 5;
|
||||
|
||||
/**
|
||||
* Function to get the cumulative friendship threshold at which a candy is earned
|
||||
* @param starterCost The cost of the starter, found in {@linkcode speciesStarterCosts}
|
||||
* @returns aforementioned threshold
|
||||
*/
|
||||
export function getStarterValueFriendshipCap(starterCost: number): number {
|
||||
switch (starterCost) {
|
||||
case 1:
|
||||
@ -27,7 +31,7 @@ export function getStarterValueFriendshipCap(starterCost: number): number {
|
||||
}
|
||||
}
|
||||
|
||||
export const speciesStarters = {
|
||||
export const speciesStarterCosts = {
|
||||
[Species.BULBASAUR]: 3,
|
||||
[Species.CHARMANDER]: 3,
|
||||
[Species.SQUIRTLE]: 3,
|
||||
@ -625,578 +629,6 @@ export const speciesStarters = {
|
||||
[Species.BLOODMOON_URSALUNA]: 6,
|
||||
};
|
||||
|
||||
export const starterPassiveAbilities = {
|
||||
[Species.BULBASAUR]: Abilities.GRASSY_SURGE,
|
||||
[Species.CHARMANDER]: Abilities.BEAST_BOOST,
|
||||
[Species.SQUIRTLE]: Abilities.STURDY,
|
||||
[Species.CATERPIE]: Abilities.MAGICIAN,
|
||||
[Species.WEEDLE]: Abilities.TINTED_LENS,
|
||||
[Species.PIDGEY]: Abilities.SHEER_FORCE,
|
||||
[Species.RATTATA]: Abilities.STRONG_JAW,
|
||||
[Species.SPEAROW]: Abilities.MOXIE,
|
||||
[Species.EKANS]: Abilities.REGENERATOR,
|
||||
[Species.SANDSHREW]: Abilities.TOUGH_CLAWS,
|
||||
[Species.NIDORAN_F]: Abilities.FLARE_BOOST,
|
||||
[Species.NIDORAN_M]: Abilities.GUTS,
|
||||
[Species.VULPIX]: Abilities.FUR_COAT,
|
||||
[Species.ZUBAT]: Abilities.INTIMIDATE,
|
||||
[Species.ODDISH]: Abilities.TRIAGE,
|
||||
[Species.PARAS]: Abilities.TRIAGE,
|
||||
[Species.VENONAT]: Abilities.SIMPLE,
|
||||
[Species.DIGLETT]: Abilities.STURDY,
|
||||
[Species.MEOWTH]: Abilities.TOUGH_CLAWS,
|
||||
[Species.PSYDUCK]: Abilities.SIMPLE,
|
||||
[Species.MANKEY]: Abilities.IRON_FIST,
|
||||
[Species.GROWLITHE]: Abilities.SPEED_BOOST,
|
||||
[Species.POLIWAG]: Abilities.NO_GUARD,
|
||||
[Species.ABRA]: Abilities.PSYCHIC_SURGE,
|
||||
[Species.MACHOP]: Abilities.QUICK_FEET,
|
||||
[Species.BELLSPROUT]: Abilities.FLOWER_GIFT,
|
||||
[Species.TENTACOOL]: Abilities.TOXIC_CHAIN,
|
||||
[Species.GEODUDE]: Abilities.DRY_SKIN,
|
||||
[Species.PONYTA]: Abilities.MAGIC_GUARD,
|
||||
[Species.SLOWPOKE]: Abilities.UNAWARE,
|
||||
[Species.MAGNEMITE]: Abilities.LEVITATE,
|
||||
[Species.FARFETCHD]: Abilities.SNIPER,
|
||||
[Species.DODUO]: Abilities.PARENTAL_BOND,
|
||||
[Species.SEEL]: Abilities.WATER_BUBBLE,
|
||||
[Species.GRIMER]: Abilities.WATER_ABSORB,
|
||||
[Species.SHELLDER]: Abilities.ICE_SCALES,
|
||||
[Species.GASTLY]: Abilities.SHADOW_SHIELD,
|
||||
[Species.ONIX]: Abilities.ROCKY_PAYLOAD,
|
||||
[Species.DROWZEE]: Abilities.MAGICIAN,
|
||||
[Species.KRABBY]: Abilities.THERMAL_EXCHANGE,
|
||||
[Species.VOLTORB]: Abilities.TRANSISTOR,
|
||||
[Species.EXEGGCUTE]: Abilities.RIPEN,
|
||||
[Species.CUBONE]: Abilities.PARENTAL_BOND,
|
||||
[Species.LICKITUNG]: Abilities.CHEEK_POUCH,
|
||||
[Species.KOFFING]: Abilities.PARENTAL_BOND,
|
||||
[Species.RHYHORN]: Abilities.FILTER,
|
||||
[Species.TANGELA]: Abilities.SEED_SOWER,
|
||||
[Species.KANGASKHAN]: Abilities.GUTS,
|
||||
[Species.HORSEA]: Abilities.DRAGONS_MAW,
|
||||
[Species.GOLDEEN]: Abilities.MULTISCALE,
|
||||
[Species.STARYU]: Abilities.REGENERATOR,
|
||||
[Species.SCYTHER]: Abilities.TINTED_LENS,
|
||||
[Species.PINSIR]: Abilities.TINTED_LENS,
|
||||
[Species.TAUROS]: Abilities.STAMINA,
|
||||
[Species.MAGIKARP]: Abilities.MULTISCALE,
|
||||
[Species.LAPRAS]: Abilities.LIGHTNING_ROD,
|
||||
[Species.DITTO]: Abilities.ADAPTABILITY,
|
||||
[Species.EEVEE]: Abilities.PICKUP,
|
||||
[Species.PORYGON]: Abilities.PROTEAN,
|
||||
[Species.OMANYTE]: Abilities.STURDY,
|
||||
[Species.KABUTO]: Abilities.TOUGH_CLAWS,
|
||||
[Species.AERODACTYL]: Abilities.ORICHALCUM_PULSE,
|
||||
[Species.ARTICUNO]: Abilities.SNOW_WARNING,
|
||||
[Species.ZAPDOS]: Abilities.DRIZZLE,
|
||||
[Species.MOLTRES]: Abilities.DROUGHT,
|
||||
[Species.DRATINI]: Abilities.AERILATE,
|
||||
[Species.MEWTWO]: Abilities.NEUROFORCE,
|
||||
[Species.MEW]: Abilities.PROTEAN,
|
||||
[Species.CHIKORITA]: Abilities.THICK_FAT,
|
||||
[Species.CYNDAQUIL]: Abilities.DROUGHT,
|
||||
[Species.TOTODILE]: Abilities.TOUGH_CLAWS,
|
||||
[Species.SENTRET]: Abilities.PICKUP,
|
||||
[Species.HOOTHOOT]: Abilities.AERILATE,
|
||||
[Species.LEDYBA]: Abilities.PRANKSTER,
|
||||
[Species.SPINARAK]: Abilities.PRANKSTER,
|
||||
[Species.CHINCHOU]: Abilities.WATER_BUBBLE,
|
||||
[Species.PICHU]: Abilities.ELECTRIC_SURGE,
|
||||
[Species.CLEFFA]: Abilities.ANALYTIC,
|
||||
[Species.IGGLYBUFF]: Abilities.HUGE_POWER,
|
||||
[Species.TOGEPI]: Abilities.PIXILATE,
|
||||
[Species.NATU]: Abilities.TINTED_LENS,
|
||||
[Species.MAREEP]: Abilities.ELECTROMORPHOSIS,
|
||||
[Species.HOPPIP]: Abilities.FLUFFY,
|
||||
[Species.AIPOM]: Abilities.SCRAPPY,
|
||||
[Species.SUNKERN]: Abilities.DROUGHT,
|
||||
[Species.YANMA]: Abilities.SHEER_FORCE,
|
||||
[Species.WOOPER]: Abilities.COMATOSE,
|
||||
[Species.MURKROW]: Abilities.DARK_AURA,
|
||||
[Species.MISDREAVUS]: Abilities.BEADS_OF_RUIN,
|
||||
[Species.UNOWN]: Abilities.PICKUP,
|
||||
[Species.GIRAFARIG]: Abilities.PARENTAL_BOND,
|
||||
[Species.PINECO]: Abilities.IRON_BARBS,
|
||||
[Species.DUNSPARCE]: Abilities.UNAWARE,
|
||||
[Species.GLIGAR]: Abilities.TOXIC_BOOST,
|
||||
[Species.SNUBBULL]: Abilities.PIXILATE,
|
||||
[Species.QWILFISH]: Abilities.TOXIC_DEBRIS,
|
||||
[Species.SHUCKLE]: Abilities.HARVEST,
|
||||
[Species.HERACROSS]: Abilities.TECHNICIAN,
|
||||
[Species.SNEASEL]: Abilities.TOUGH_CLAWS,
|
||||
[Species.TEDDIURSA]: Abilities.THICK_FAT,
|
||||
[Species.SLUGMA]: Abilities.DESOLATE_LAND,
|
||||
[Species.SWINUB]: Abilities.SLUSH_RUSH,
|
||||
[Species.CORSOLA]: Abilities.STORM_DRAIN,
|
||||
[Species.REMORAID]: Abilities.SIMPLE,
|
||||
[Species.DELIBIRD]: Abilities.HUGE_POWER,
|
||||
[Species.SKARMORY]: Abilities.LIGHTNING_ROD,
|
||||
[Species.HOUNDOUR]: Abilities.DROUGHT,
|
||||
[Species.PHANPY]: Abilities.SPEED_BOOST,
|
||||
[Species.STANTLER]: Abilities.SPEED_BOOST,
|
||||
[Species.SMEARGLE]: Abilities.PRANKSTER,
|
||||
[Species.TYROGUE]: Abilities.MOXIE,
|
||||
[Species.SMOOCHUM]: Abilities.PSYCHIC_SURGE,
|
||||
[Species.ELEKID]: Abilities.SHEER_FORCE,
|
||||
[Species.MAGBY]: Abilities.CONTRARY,
|
||||
[Species.MILTANK]: Abilities.STAMINA,
|
||||
[Species.RAIKOU]: Abilities.TRANSISTOR,
|
||||
[Species.ENTEI]: Abilities.MOXIE,
|
||||
[Species.SUICUNE]: Abilities.UNAWARE,
|
||||
[Species.LARVITAR]: Abilities.SAND_RUSH,
|
||||
[Species.LUGIA]: Abilities.DELTA_STREAM,
|
||||
[Species.HO_OH]: Abilities.MAGIC_GUARD,
|
||||
[Species.CELEBI]: Abilities.PSYCHIC_SURGE,
|
||||
[Species.TREECKO]: Abilities.TINTED_LENS,
|
||||
[Species.TORCHIC]: Abilities.RECKLESS,
|
||||
[Species.MUDKIP]: Abilities.DRIZZLE,
|
||||
[Species.POOCHYENA]: Abilities.TOUGH_CLAWS,
|
||||
[Species.ZIGZAGOON]: Abilities.RUN_AWAY,
|
||||
[Species.WURMPLE]: Abilities.SIMPLE,
|
||||
[Species.LOTAD]: Abilities.DRIZZLE,
|
||||
[Species.SEEDOT]: Abilities.SHARPNESS,
|
||||
[Species.TAILLOW]: Abilities.AERILATE,
|
||||
[Species.WINGULL]: Abilities.SWIFT_SWIM,
|
||||
[Species.RALTS]: Abilities.PSYCHIC_SURGE,
|
||||
[Species.SURSKIT]: Abilities.WATER_BUBBLE,
|
||||
[Species.SHROOMISH]: Abilities.GUTS,
|
||||
[Species.SLAKOTH]: Abilities.GUTS,
|
||||
[Species.NINCADA]: Abilities.MAGIC_GUARD,
|
||||
[Species.WHISMUR]: Abilities.PUNK_ROCK,
|
||||
[Species.MAKUHITA]: Abilities.STAMINA,
|
||||
[Species.AZURILL]: Abilities.MISTY_SURGE,
|
||||
[Species.NOSEPASS]: Abilities.LEVITATE,
|
||||
[Species.SKITTY]: Abilities.SCRAPPY,
|
||||
[Species.SABLEYE]: Abilities.UNNERVE,
|
||||
[Species.MAWILE]: Abilities.UNNERVE,
|
||||
[Species.ARON]: Abilities.EARTH_EATER,
|
||||
[Species.MEDITITE]: Abilities.MINDS_EYE,
|
||||
[Species.ELECTRIKE]: Abilities.ELECTRIC_SURGE,
|
||||
[Species.PLUSLE]: Abilities.POWER_SPOT,
|
||||
[Species.MINUN]: Abilities.POWER_SPOT,
|
||||
[Species.VOLBEAT]: Abilities.HONEY_GATHER,
|
||||
[Species.ILLUMISE]: Abilities.HONEY_GATHER,
|
||||
[Species.GULPIN]: Abilities.EARTH_EATER,
|
||||
[Species.CARVANHA]: Abilities.SHEER_FORCE,
|
||||
[Species.WAILMER]: Abilities.LEVITATE,
|
||||
[Species.NUMEL]: Abilities.FUR_COAT,
|
||||
[Species.TORKOAL]: Abilities.ANALYTIC,
|
||||
[Species.SPOINK]: Abilities.PSYCHIC_SURGE,
|
||||
[Species.SPINDA]: Abilities.SIMPLE,
|
||||
[Species.TRAPINCH]: Abilities.ADAPTABILITY,
|
||||
[Species.CACNEA]: Abilities.SAND_RUSH,
|
||||
[Species.SWABLU]: Abilities.ADAPTABILITY,
|
||||
[Species.ZANGOOSE]: Abilities.POISON_HEAL,
|
||||
[Species.SEVIPER]: Abilities.MULTISCALE,
|
||||
[Species.LUNATONE]: Abilities.SHADOW_SHIELD,
|
||||
[Species.SOLROCK]: Abilities.DROUGHT,
|
||||
[Species.BARBOACH]: Abilities.SIMPLE,
|
||||
[Species.CORPHISH]: Abilities.TOUGH_CLAWS,
|
||||
[Species.BALTOY]: Abilities.WELL_BAKED_BODY,
|
||||
[Species.LILEEP]: Abilities.SEED_SOWER,
|
||||
[Species.ANORITH]: Abilities.WATER_ABSORB,
|
||||
[Species.FEEBAS]: Abilities.MAGIC_GUARD,
|
||||
[Species.CASTFORM]: Abilities.ADAPTABILITY,
|
||||
[Species.KECLEON]: Abilities.ADAPTABILITY,
|
||||
[Species.SHUPPET]: Abilities.SHADOW_SHIELD,
|
||||
[Species.DUSKULL]: Abilities.UNNERVE,
|
||||
[Species.TROPIUS]: Abilities.RIPEN,
|
||||
[Species.ABSOL]: Abilities.SHARPNESS,
|
||||
[Species.WYNAUT]: Abilities.STURDY,
|
||||
[Species.SNORUNT]: Abilities.SNOW_WARNING,
|
||||
[Species.SPHEAL]: Abilities.UNAWARE,
|
||||
[Species.CLAMPERL]: Abilities.DRIZZLE,
|
||||
[Species.RELICANTH]: Abilities.PRIMORDIAL_SEA,
|
||||
[Species.LUVDISC]: Abilities.MULTISCALE,
|
||||
[Species.BAGON]: Abilities.DRAGONS_MAW,
|
||||
[Species.BELDUM]: Abilities.LEVITATE,
|
||||
[Species.REGIROCK]: Abilities.SAND_STREAM,
|
||||
[Species.REGICE]: Abilities.SNOW_WARNING,
|
||||
[Species.REGISTEEL]: Abilities.FILTER,
|
||||
[Species.LATIAS]: Abilities.PRISM_ARMOR,
|
||||
[Species.LATIOS]: Abilities.TINTED_LENS,
|
||||
[Species.KYOGRE]: Abilities.MOLD_BREAKER,
|
||||
[Species.GROUDON]: Abilities.TURBOBLAZE,
|
||||
[Species.RAYQUAZA]: Abilities.UNNERVE,
|
||||
[Species.JIRACHI]: Abilities.COMATOSE,
|
||||
[Species.DEOXYS]: Abilities.PROTEAN,
|
||||
[Species.TURTWIG]: Abilities.THICK_FAT,
|
||||
[Species.CHIMCHAR]: Abilities.BEAST_BOOST,
|
||||
[Species.PIPLUP]: Abilities.DRIZZLE,
|
||||
[Species.STARLY]: Abilities.ROCK_HEAD,
|
||||
[Species.BIDOOF]: Abilities.SAP_SIPPER,
|
||||
[Species.KRICKETOT]: Abilities.SHARPNESS,
|
||||
[Species.SHINX]: Abilities.SPEED_BOOST,
|
||||
[Species.BUDEW]: Abilities.GRASSY_SURGE,
|
||||
[Species.CRANIDOS]: Abilities.ROCK_HEAD,
|
||||
[Species.SHIELDON]: Abilities.EARTH_EATER,
|
||||
[Species.BURMY]: Abilities.STURDY,
|
||||
[Species.COMBEE]: Abilities.INTIMIDATE,
|
||||
[Species.PACHIRISU]: Abilities.HONEY_GATHER,
|
||||
[Species.BUIZEL]: Abilities.MOXIE,
|
||||
[Species.CHERUBI]: Abilities.ORICHALCUM_PULSE,
|
||||
[Species.SHELLOS]: Abilities.REGENERATOR,
|
||||
[Species.DRIFLOON]: Abilities.MAGIC_GUARD,
|
||||
[Species.BUNEARY]: Abilities.ADAPTABILITY,
|
||||
[Species.GLAMEOW]: Abilities.INTIMIDATE,
|
||||
[Species.CHINGLING]: Abilities.PUNK_ROCK,
|
||||
[Species.STUNKY]: Abilities.NEUTRALIZING_GAS,
|
||||
[Species.BRONZOR]: Abilities.BULLETPROOF,
|
||||
[Species.BONSLY]: Abilities.SAP_SIPPER,
|
||||
[Species.MIME_JR]: Abilities.OPPORTUNIST,
|
||||
[Species.HAPPINY]: Abilities.FUR_COAT,
|
||||
[Species.CHATOT]: Abilities.PUNK_ROCK,
|
||||
[Species.SPIRITOMB]: Abilities.VESSEL_OF_RUIN,
|
||||
[Species.GIBLE]: Abilities.SAND_STREAM,
|
||||
[Species.MUNCHLAX]: Abilities.RIPEN,
|
||||
[Species.RIOLU]: Abilities.MINDS_EYE,
|
||||
[Species.HIPPOPOTAS]: Abilities.UNAWARE,
|
||||
[Species.SKORUPI]: Abilities.SUPER_LUCK,
|
||||
[Species.CROAGUNK]: Abilities.MOXIE,
|
||||
[Species.CARNIVINE]: Abilities.ARENA_TRAP,
|
||||
[Species.FINNEON]: Abilities.WATER_BUBBLE,
|
||||
[Species.MANTYKE]: Abilities.UNAWARE,
|
||||
[Species.SNOVER]: Abilities.THICK_FAT,
|
||||
[Species.ROTOM]: Abilities.HADRON_ENGINE,
|
||||
[Species.UXIE]: Abilities.UNAWARE,
|
||||
[Species.MESPRIT]: Abilities.MOODY,
|
||||
[Species.AZELF]: Abilities.NEUROFORCE,
|
||||
[Species.DIALGA]: Abilities.LEVITATE,
|
||||
[Species.PALKIA]: Abilities.SPEED_BOOST,
|
||||
[Species.HEATRAN]: Abilities.EARTH_EATER,
|
||||
[Species.REGIGIGAS]: Abilities.SCRAPPY,
|
||||
[Species.GIRATINA]: Abilities.SHADOW_SHIELD,
|
||||
[Species.CRESSELIA]: Abilities.SHADOW_SHIELD,
|
||||
[Species.PHIONE]: Abilities.SIMPLE,
|
||||
[Species.MANAPHY]: Abilities.PRIMORDIAL_SEA,
|
||||
[Species.DARKRAI]: Abilities.UNNERVE,
|
||||
[Species.SHAYMIN]: Abilities.WIND_RIDER,
|
||||
[Species.ARCEUS]: Abilities.ADAPTABILITY,
|
||||
[Species.VICTINI]: Abilities.SHEER_FORCE,
|
||||
[Species.SNIVY]: Abilities.MULTISCALE,
|
||||
[Species.TEPIG]: Abilities.ROCK_HEAD,
|
||||
[Species.OSHAWOTT]: Abilities.INTREPID_SWORD,
|
||||
[Species.PATRAT]: Abilities.NO_GUARD,
|
||||
[Species.LILLIPUP]: Abilities.FUR_COAT,
|
||||
[Species.PURRLOIN]: Abilities.PICKUP,
|
||||
[Species.PANSAGE]: Abilities.WELL_BAKED_BODY,
|
||||
[Species.PANSEAR]: Abilities.WATER_ABSORB,
|
||||
[Species.PANPOUR]: Abilities.SAP_SIPPER,
|
||||
[Species.MUNNA]: Abilities.NEUTRALIZING_GAS,
|
||||
[Species.PIDOVE]: Abilities.SNIPER,
|
||||
[Species.BLITZLE]: Abilities.ELECTRIC_SURGE,
|
||||
[Species.ROGGENROLA]: Abilities.SOLID_ROCK,
|
||||
[Species.WOOBAT]: Abilities.OPPORTUNIST,
|
||||
[Species.DRILBUR]: Abilities.SAND_STREAM,
|
||||
[Species.AUDINO]: Abilities.FRIEND_GUARD,
|
||||
[Species.TIMBURR]: Abilities.ROCKY_PAYLOAD,
|
||||
[Species.TYMPOLE]: Abilities.POISON_HEAL,
|
||||
[Species.THROH]: Abilities.STAMINA,
|
||||
[Species.SAWK]: Abilities.SCRAPPY,
|
||||
[Species.SEWADDLE]: Abilities.SHARPNESS,
|
||||
[Species.VENIPEDE]: Abilities.STAMINA,
|
||||
[Species.COTTONEE]: Abilities.FLUFFY,
|
||||
[Species.PETILIL]: Abilities.SIMPLE,
|
||||
[Species.BASCULIN]: Abilities.SUPREME_OVERLORD,
|
||||
[Species.SANDILE]: Abilities.TOUGH_CLAWS,
|
||||
[Species.DARUMAKA]: Abilities.GORILLA_TACTICS,
|
||||
[Species.MARACTUS]: Abilities.WELL_BAKED_BODY,
|
||||
[Species.DWEBBLE]: Abilities.ROCKY_PAYLOAD,
|
||||
[Species.SCRAGGY]: Abilities.PROTEAN,
|
||||
[Species.SIGILYPH]: Abilities.FLARE_BOOST,
|
||||
[Species.YAMASK]: Abilities.PURIFYING_SALT,
|
||||
[Species.TIRTOUGA]: Abilities.WATER_ABSORB,
|
||||
[Species.ARCHEN]: Abilities.MULTISCALE,
|
||||
[Species.TRUBBISH]: Abilities.NEUTRALIZING_GAS,
|
||||
[Species.ZORUA]: Abilities.DARK_AURA,
|
||||
[Species.MINCCINO]: Abilities.FUR_COAT,
|
||||
[Species.GOTHITA]: Abilities.UNNERVE,
|
||||
[Species.SOLOSIS]: Abilities.PSYCHIC_SURGE,
|
||||
[Species.DUCKLETT]: Abilities.DRIZZLE,
|
||||
[Species.VANILLITE]: Abilities.SLUSH_RUSH,
|
||||
[Species.DEERLING]: Abilities.FUR_COAT,
|
||||
[Species.EMOLGA]: Abilities.TRANSISTOR,
|
||||
[Species.KARRABLAST]: Abilities.QUICK_DRAW,
|
||||
[Species.FOONGUS]: Abilities.THICK_FAT,
|
||||
[Species.FRILLISH]: Abilities.POISON_HEAL,
|
||||
[Species.ALOMOMOLA]: Abilities.MULTISCALE,
|
||||
[Species.JOLTIK]: Abilities.TRANSISTOR,
|
||||
[Species.FERROSEED]: Abilities.ROUGH_SKIN,
|
||||
[Species.KLINK]: Abilities.STEELY_SPIRIT,
|
||||
[Species.TYNAMO]: Abilities.POISON_HEAL,
|
||||
[Species.ELGYEM]: Abilities.PRISM_ARMOR,
|
||||
[Species.LITWICK]: Abilities.SOUL_HEART,
|
||||
[Species.AXEW]: Abilities.DRAGONS_MAW,
|
||||
[Species.CUBCHOO]: Abilities.TOUGH_CLAWS,
|
||||
[Species.CRYOGONAL]: Abilities.SNOW_WARNING,
|
||||
[Species.SHELMET]: Abilities.PROTEAN,
|
||||
[Species.STUNFISK]: Abilities.STORM_DRAIN,
|
||||
[Species.MIENFOO]: Abilities.NO_GUARD,
|
||||
[Species.DRUDDIGON]: Abilities.INTIMIDATE,
|
||||
[Species.GOLETT]: Abilities.SHADOW_SHIELD,
|
||||
[Species.PAWNIARD]: Abilities.SWORD_OF_RUIN,
|
||||
[Species.BOUFFALANT]: Abilities.ROCK_HEAD,
|
||||
[Species.RUFFLET]: Abilities.SPEED_BOOST,
|
||||
[Species.VULLABY]: Abilities.THICK_FAT,
|
||||
[Species.HEATMOR]: Abilities.CONTRARY,
|
||||
[Species.DURANT]: Abilities.COMPOUND_EYES,
|
||||
[Species.DEINO]: Abilities.PARENTAL_BOND,
|
||||
[Species.LARVESTA]: Abilities.DROUGHT,
|
||||
[Species.COBALION]: Abilities.INTREPID_SWORD,
|
||||
[Species.TERRAKION]: Abilities.ROCKY_PAYLOAD,
|
||||
[Species.VIRIZION]: Abilities.SHARPNESS,
|
||||
[Species.TORNADUS]: Abilities.DRIZZLE,
|
||||
[Species.THUNDURUS]: Abilities.DRIZZLE,
|
||||
[Species.RESHIRAM]: Abilities.ORICHALCUM_PULSE,
|
||||
[Species.ZEKROM]: Abilities.HADRON_ENGINE,
|
||||
[Species.LANDORUS]: Abilities.STORM_DRAIN,
|
||||
[Species.KYUREM]: Abilities.SNOW_WARNING,
|
||||
[Species.KELDEO]: Abilities.GRIM_NEIGH,
|
||||
[Species.MELOETTA]: Abilities.MINDS_EYE,
|
||||
[Species.GENESECT]: Abilities.PROTEAN,
|
||||
[Species.CHESPIN]: Abilities.DAUNTLESS_SHIELD,
|
||||
[Species.FENNEKIN]: Abilities.PSYCHIC_SURGE,
|
||||
[Species.FROAKIE]: Abilities.STAKEOUT,
|
||||
[Species.BUNNELBY]: Abilities.GUTS,
|
||||
[Species.FLETCHLING]: Abilities.MAGIC_GUARD,
|
||||
[Species.SCATTERBUG]: Abilities.PRANKSTER,
|
||||
[Species.LITLEO]: Abilities.BEAST_BOOST,
|
||||
[Species.FLABEBE]: Abilities.GRASSY_SURGE,
|
||||
[Species.SKIDDO]: Abilities.SEED_SOWER,
|
||||
[Species.PANCHAM]: Abilities.FUR_COAT,
|
||||
[Species.FURFROU]: Abilities.FLUFFY,
|
||||
[Species.ESPURR]: Abilities.FUR_COAT,
|
||||
[Species.HONEDGE]: Abilities.SHARPNESS,
|
||||
[Species.SPRITZEE]: Abilities.FUR_COAT,
|
||||
[Species.SWIRLIX]: Abilities.WELL_BAKED_BODY,
|
||||
[Species.INKAY]: Abilities.UNNERVE,
|
||||
[Species.BINACLE]: Abilities.SAP_SIPPER,
|
||||
[Species.SKRELP]: Abilities.DRAGONS_MAW,
|
||||
[Species.CLAUNCHER]: Abilities.SWIFT_SWIM,
|
||||
[Species.HELIOPTILE]: Abilities.PROTEAN,
|
||||
[Species.TYRUNT]: Abilities.RECKLESS,
|
||||
[Species.AMAURA]: Abilities.ICE_SCALES,
|
||||
[Species.HAWLUCHA]: Abilities.MOXIE,
|
||||
[Species.DEDENNE]: Abilities.PIXILATE,
|
||||
[Species.CARBINK]: Abilities.SOLID_ROCK,
|
||||
[Species.GOOMY]: Abilities.REGENERATOR,
|
||||
[Species.KLEFKI]: Abilities.LEVITATE,
|
||||
[Species.PHANTUMP]: Abilities.SHADOW_TAG,
|
||||
[Species.PUMPKABOO]: Abilities.WELL_BAKED_BODY,
|
||||
[Species.BERGMITE]: Abilities.ICE_SCALES,
|
||||
[Species.NOIBAT]: Abilities.PUNK_ROCK,
|
||||
[Species.XERNEAS]: Abilities.HARVEST,
|
||||
[Species.YVELTAL]: Abilities.SOUL_HEART,
|
||||
[Species.ZYGARDE]: Abilities.HUGE_POWER,
|
||||
[Species.DIANCIE]: Abilities.LEVITATE,
|
||||
[Species.HOOPA]: Abilities.OPPORTUNIST,
|
||||
[Species.VOLCANION]: Abilities.FILTER,
|
||||
[Species.ROWLET]: Abilities.SNIPER,
|
||||
[Species.LITTEN]: Abilities.OPPORTUNIST,
|
||||
[Species.POPPLIO]: Abilities.PUNK_ROCK,
|
||||
[Species.PIKIPEK]: Abilities.TECHNICIAN,
|
||||
[Species.YUNGOOS]: Abilities.TOUGH_CLAWS,
|
||||
[Species.GRUBBIN]: Abilities.SPEED_BOOST,
|
||||
[Species.CRABRAWLER]: Abilities.WATER_BUBBLE,
|
||||
[Species.ORICORIO]: Abilities.ADAPTABILITY,
|
||||
[Species.CUTIEFLY]: Abilities.TINTED_LENS,
|
||||
[Species.ROCKRUFF]: Abilities.ROCKY_PAYLOAD,
|
||||
[Species.WISHIWASHI]: Abilities.REGENERATOR,
|
||||
[Species.MAREANIE]: Abilities.TOXIC_DEBRIS,
|
||||
[Species.MUDBRAY]: Abilities.CUD_CHEW,
|
||||
[Species.DEWPIDER]: Abilities.TINTED_LENS,
|
||||
[Species.FOMANTIS]: Abilities.SHARPNESS,
|
||||
[Species.MORELULL]: Abilities.TRIAGE,
|
||||
[Species.SALANDIT]: Abilities.DRAGONS_MAW,
|
||||
[Species.STUFFUL]: Abilities.SCRAPPY,
|
||||
[Species.BOUNSWEET]: Abilities.MOXIE,
|
||||
[Species.COMFEY]: Abilities.FRIEND_GUARD,
|
||||
[Species.ORANGURU]: Abilities.POWER_SPOT,
|
||||
[Species.PASSIMIAN]: Abilities.LIBERO,
|
||||
[Species.WIMPOD]: Abilities.REGENERATOR,
|
||||
[Species.SANDYGAST]: Abilities.SAND_SPIT,
|
||||
[Species.PYUKUMUKU]: Abilities.PURIFYING_SALT,
|
||||
[Species.TYPE_NULL]: Abilities.ADAPTABILITY,
|
||||
[Species.MINIOR]: Abilities.STURDY,
|
||||
[Species.KOMALA]: Abilities.GUTS,
|
||||
[Species.TURTONATOR]: Abilities.DAUNTLESS_SHIELD,
|
||||
[Species.TOGEDEMARU]: Abilities.ROUGH_SKIN,
|
||||
[Species.MIMIKYU]: Abilities.TOUGH_CLAWS,
|
||||
[Species.BRUXISH]: Abilities.MULTISCALE,
|
||||
[Species.DRAMPA]: Abilities.THICK_FAT,
|
||||
[Species.DHELMISE]: Abilities.WATER_BUBBLE,
|
||||
[Species.JANGMO_O]: Abilities.DAUNTLESS_SHIELD,
|
||||
[Species.TAPU_KOKO]: Abilities.TRANSISTOR,
|
||||
[Species.TAPU_LELE]: Abilities.SHEER_FORCE,
|
||||
[Species.TAPU_BULU]: Abilities.TRIAGE,
|
||||
[Species.TAPU_FINI]: Abilities.FAIRY_AURA,
|
||||
[Species.COSMOG]: Abilities.BEAST_BOOST,
|
||||
[Species.NIHILEGO]: Abilities.LEVITATE,
|
||||
[Species.BUZZWOLE]: Abilities.MOXIE,
|
||||
[Species.PHEROMOSA]: Abilities.TINTED_LENS,
|
||||
[Species.XURKITREE]: Abilities.TRANSISTOR,
|
||||
[Species.CELESTEELA]: Abilities.HEATPROOF,
|
||||
[Species.KARTANA]: Abilities.SHARPNESS,
|
||||
[Species.GUZZLORD]: Abilities.POISON_HEAL,
|
||||
[Species.NECROZMA]: Abilities.BEAST_BOOST,
|
||||
[Species.MAGEARNA]: Abilities.STEELY_SPIRIT,
|
||||
[Species.MARSHADOW]: Abilities.IRON_FIST,
|
||||
[Species.POIPOLE]: Abilities.SHEER_FORCE,
|
||||
[Species.STAKATAKA]: Abilities.SOLID_ROCK,
|
||||
[Species.BLACEPHALON]: Abilities.MAGIC_GUARD,
|
||||
[Species.ZERAORA]: Abilities.TOUGH_CLAWS,
|
||||
[Species.MELTAN]: Abilities.STEELY_SPIRIT,
|
||||
[Species.GROOKEY]: Abilities.GRASS_PELT,
|
||||
[Species.SCORBUNNY]: Abilities.NO_GUARD,
|
||||
[Species.SOBBLE]: Abilities.SUPER_LUCK,
|
||||
[Species.SKWOVET]: Abilities.HARVEST,
|
||||
[Species.ROOKIDEE]: Abilities.IRON_BARBS,
|
||||
[Species.BLIPBUG]: Abilities.PSYCHIC_SURGE,
|
||||
[Species.NICKIT]: Abilities.MAGICIAN,
|
||||
[Species.GOSSIFLEUR]: Abilities.GRASSY_SURGE,
|
||||
[Species.WOOLOO]: Abilities.SIMPLE,
|
||||
[Species.CHEWTLE]: Abilities.ROCKY_PAYLOAD,
|
||||
[Species.YAMPER]: Abilities.SHEER_FORCE,
|
||||
[Species.ROLYCOLY]: Abilities.SOLID_ROCK,
|
||||
[Species.APPLIN]: Abilities.DRAGONS_MAW,
|
||||
[Species.SILICOBRA]: Abilities.SAND_RUSH,
|
||||
[Species.CRAMORANT]: Abilities.LIGHTNING_ROD,
|
||||
[Species.ARROKUDA]: Abilities.INTIMIDATE,
|
||||
[Species.TOXEL]: Abilities.ELECTRIC_SURGE,
|
||||
[Species.SIZZLIPEDE]: Abilities.SPEED_BOOST,
|
||||
[Species.CLOBBOPUS]: Abilities.WATER_BUBBLE,
|
||||
[Species.SINISTEA]: Abilities.SHADOW_SHIELD,
|
||||
[Species.HATENNA]: Abilities.FAIRY_AURA,
|
||||
[Species.IMPIDIMP]: Abilities.FUR_COAT,
|
||||
[Species.MILCERY]: Abilities.REGENERATOR,
|
||||
[Species.FALINKS]: Abilities.PARENTAL_BOND,
|
||||
[Species.PINCURCHIN]: Abilities.ELECTROMORPHOSIS,
|
||||
[Species.SNOM]: Abilities.SNOW_WARNING,
|
||||
[Species.STONJOURNER]: Abilities.STURDY,
|
||||
[Species.EISCUE]: Abilities.ICE_SCALES,
|
||||
[Species.INDEEDEE]: Abilities.FRIEND_GUARD,
|
||||
[Species.MORPEKO]: Abilities.MOODY,
|
||||
[Species.CUFANT]: Abilities.EARTH_EATER,
|
||||
[Species.DRACOZOLT]: Abilities.NO_GUARD,
|
||||
[Species.ARCTOZOLT]: Abilities.TRANSISTOR,
|
||||
[Species.DRACOVISH]: Abilities.SWIFT_SWIM,
|
||||
[Species.ARCTOVISH]: Abilities.STRONG_JAW,
|
||||
[Species.DURALUDON]: Abilities.STEELWORKER,
|
||||
[Species.DREEPY]: Abilities.PARENTAL_BOND,
|
||||
[Species.ZACIAN]: Abilities.UNNERVE,
|
||||
[Species.ZAMAZENTA]: Abilities.UNNERVE,
|
||||
[Species.ETERNATUS]: Abilities.NEUTRALIZING_GAS,
|
||||
[Species.KUBFU]: Abilities.IRON_FIST,
|
||||
[Species.ZARUDE]: Abilities.TOUGH_CLAWS,
|
||||
[Species.REGIELEKI]: Abilities.ELECTRIC_SURGE,
|
||||
[Species.REGIDRAGO]: Abilities.MULTISCALE,
|
||||
[Species.GLASTRIER]: Abilities.FILTER,
|
||||
[Species.SPECTRIER]: Abilities.SHADOW_SHIELD,
|
||||
[Species.CALYREX]: Abilities.HARVEST,
|
||||
[Species.ENAMORUS]: Abilities.FAIRY_AURA,
|
||||
[Species.SPRIGATITO]: Abilities.MAGICIAN,
|
||||
[Species.FUECOCO]: Abilities.PUNK_ROCK,
|
||||
[Species.QUAXLY]: Abilities.OPPORTUNIST,
|
||||
[Species.LECHONK]: Abilities.SIMPLE,
|
||||
[Species.TAROUNTULA]: Abilities.HONEY_GATHER,
|
||||
[Species.NYMBLE]: Abilities.GUTS,
|
||||
[Species.PAWMI]: Abilities.TRANSISTOR,
|
||||
[Species.TANDEMAUS]: Abilities.SCRAPPY,
|
||||
[Species.FIDOUGH]: Abilities.WATER_ABSORB,
|
||||
[Species.SMOLIV]: Abilities.RIPEN,
|
||||
[Species.SQUAWKABILLY]: Abilities.MOXIE,
|
||||
[Species.NACLI]: Abilities.SOLID_ROCK,
|
||||
[Species.CHARCADET]: Abilities.PRISM_ARMOR,
|
||||
[Species.TADBULB]: Abilities.STAMINA,
|
||||
[Species.WATTREL]: Abilities.SHEER_FORCE,
|
||||
[Species.MASCHIFF]: Abilities.STRONG_JAW,
|
||||
[Species.SHROODLE]: Abilities.CORROSION,
|
||||
[Species.BRAMBLIN]: Abilities.SHADOW_SHIELD,
|
||||
[Species.TOEDSCOOL]: Abilities.PRANKSTER,
|
||||
[Species.KLAWF]: Abilities.WATER_ABSORB,
|
||||
[Species.CAPSAKID]: Abilities.PARENTAL_BOND,
|
||||
[Species.RELLOR]: Abilities.PRANKSTER,
|
||||
[Species.FLITTLE]: Abilities.DAZZLING,
|
||||
[Species.TINKATINK]: Abilities.STEELWORKER,
|
||||
[Species.WIGLETT]: Abilities.STURDY,
|
||||
[Species.BOMBIRDIER]: Abilities.UNBURDEN,
|
||||
[Species.FINIZEN]: Abilities.IRON_FIST,
|
||||
[Species.VAROOM]: Abilities.LEVITATE,
|
||||
[Species.CYCLIZAR]: Abilities.PROTEAN,
|
||||
[Species.ORTHWORM]: Abilities.REGENERATOR,
|
||||
[Species.GLIMMET]: Abilities.LEVITATE,
|
||||
[Species.GREAVARD]: Abilities.FUR_COAT,
|
||||
[Species.FLAMIGO]: Abilities.MOXIE,
|
||||
[Species.CETODDLE]: Abilities.ICE_SCALES,
|
||||
[Species.VELUZA]: Abilities.SUPER_LUCK,
|
||||
[Species.DONDOZO]: Abilities.PARENTAL_BOND,
|
||||
[Species.TATSUGIRI]: Abilities.ADAPTABILITY,
|
||||
[Species.GREAT_TUSK]: Abilities.INTIMIDATE,
|
||||
[Species.SCREAM_TAIL]: Abilities.UNAWARE,
|
||||
[Species.BRUTE_BONNET]: Abilities.CHLOROPHYLL,
|
||||
[Species.FLUTTER_MANE]: Abilities.DAZZLING,
|
||||
[Species.SLITHER_WING]: Abilities.SCRAPPY,
|
||||
[Species.SANDY_SHOCKS]: Abilities.EARTH_EATER,
|
||||
[Species.IRON_TREADS]: Abilities.STEELY_SPIRIT,
|
||||
[Species.IRON_BUNDLE]: Abilities.SNOW_WARNING,
|
||||
[Species.IRON_HANDS]: Abilities.IRON_FIST,
|
||||
[Species.IRON_JUGULIS]: Abilities.LIGHTNING_ROD,
|
||||
[Species.IRON_MOTH]: Abilities.LEVITATE,
|
||||
[Species.IRON_THORNS]: Abilities.SAND_STREAM,
|
||||
[Species.FRIGIBAX]: Abilities.SNOW_WARNING,
|
||||
[Species.GIMMIGHOUL]: Abilities.HONEY_GATHER,
|
||||
[Species.WO_CHIEN]: Abilities.VESSEL_OF_RUIN,
|
||||
[Species.CHIEN_PAO]: Abilities.INTIMIDATE,
|
||||
[Species.TING_LU]: Abilities.STAMINA,
|
||||
[Species.CHI_YU]: Abilities.BERSERK,
|
||||
[Species.ROARING_MOON]: Abilities.TOUGH_CLAWS,
|
||||
[Species.IRON_VALIANT]: Abilities.ADAPTABILITY,
|
||||
[Species.KORAIDON]: Abilities.OPPORTUNIST,
|
||||
[Species.MIRAIDON]: Abilities.OPPORTUNIST,
|
||||
[Species.WALKING_WAKE]: Abilities.BEAST_BOOST,
|
||||
[Species.IRON_LEAVES]: Abilities.SHARPNESS,
|
||||
[Species.POLTCHAGEIST]: Abilities.TRIAGE,
|
||||
[Species.OKIDOGI]: Abilities.FUR_COAT,
|
||||
[Species.MUNKIDORI]: Abilities.NEUROFORCE,
|
||||
[Species.FEZANDIPITI]: Abilities.LEVITATE,
|
||||
[Species.OGERPON]: Abilities.OPPORTUNIST,
|
||||
[Species.GOUGING_FIRE]: Abilities.BEAST_BOOST,
|
||||
[Species.RAGING_BOLT]: Abilities.BEAST_BOOST,
|
||||
[Species.IRON_BOULDER]: Abilities.SHARPNESS,
|
||||
[Species.IRON_CROWN]: Abilities.SHARPNESS,
|
||||
[Species.TERAPAGOS]: Abilities.SOUL_HEART,
|
||||
[Species.PECHARUNT]: Abilities.TOXIC_CHAIN,
|
||||
[Species.ALOLA_RATTATA]: Abilities.ADAPTABILITY,
|
||||
[Species.ALOLA_SANDSHREW]: Abilities.ICE_SCALES,
|
||||
[Species.ALOLA_VULPIX]: Abilities.SHEER_FORCE,
|
||||
[Species.ALOLA_DIGLETT]: Abilities.STURDY,
|
||||
[Species.ALOLA_MEOWTH]: Abilities.DARK_AURA,
|
||||
[Species.ALOLA_GEODUDE]: Abilities.DRY_SKIN,
|
||||
[Species.ALOLA_GRIMER]: Abilities.TOXIC_DEBRIS,
|
||||
[Species.ETERNAL_FLOETTE]: Abilities.MAGIC_GUARD,
|
||||
[Species.GALAR_MEOWTH]: Abilities.STEELWORKER,
|
||||
[Species.GALAR_PONYTA]: Abilities.MOXIE,
|
||||
[Species.GALAR_SLOWPOKE]: Abilities.UNAWARE,
|
||||
[Species.GALAR_FARFETCHD]: Abilities.INTREPID_SWORD,
|
||||
[Species.GALAR_ARTICUNO]: Abilities.SERENE_GRACE,
|
||||
[Species.GALAR_ZAPDOS]: Abilities.TOUGH_CLAWS,
|
||||
[Species.GALAR_MOLTRES]: Abilities.DARK_AURA,
|
||||
[Species.GALAR_CORSOLA]: Abilities.SHADOW_SHIELD,
|
||||
[Species.GALAR_ZIGZAGOON]: Abilities.POISON_HEAL,
|
||||
[Species.GALAR_DARUMAKA]: Abilities.FLASH_FIRE,
|
||||
[Species.GALAR_YAMASK]: Abilities.TABLETS_OF_RUIN,
|
||||
[Species.GALAR_STUNFISK]: Abilities.ARENA_TRAP,
|
||||
[Species.HISUI_GROWLITHE]: Abilities.RECKLESS,
|
||||
[Species.HISUI_VOLTORB]: Abilities.TRANSISTOR,
|
||||
[Species.HISUI_QWILFISH]: Abilities.MERCILESS,
|
||||
[Species.HISUI_SNEASEL]: Abilities.SCRAPPY,
|
||||
[Species.HISUI_ZORUA]: Abilities.ADAPTABILITY,
|
||||
[Species.PALDEA_TAUROS]: Abilities.ADAPTABILITY,
|
||||
[Species.PALDEA_WOOPER]: Abilities.THICK_FAT,
|
||||
[Species.BLOODMOON_URSALUNA]: Abilities.BERSERK
|
||||
};
|
||||
|
||||
const starterCandyCosts: { passive: number; costReduction: [number, number]; egg: number; }[] = [
|
||||
{ passive: 40, costReduction: [25, 60], egg: 30 }, // 1 Cost
|
||||
{ passive: 40, costReduction: [25, 60], egg: 30 }, // 2 Cost
|
||||
@ -1210,14 +642,29 @@ const starterCandyCosts: { passive: number; costReduction: [number, number]; egg
|
||||
{ passive: 10, costReduction: [5, 15], egg: 10 }, // 10 Cost
|
||||
];
|
||||
|
||||
/**
|
||||
* Getter for {@linkcode starterCandyCosts} for passive unlock candy cost based on initial point cost
|
||||
* @param starterCost the default point cost of the starter found in {@linkcode speciesStarterCosts}
|
||||
* @returns the candy cost for passive unlock
|
||||
*/
|
||||
export function getPassiveCandyCount(starterCost: number): number {
|
||||
return starterCandyCosts[starterCost - 1].passive;
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for {@linkcode starterCandyCosts} for value reduction unlock candy cost based on initial point cost
|
||||
* @param starterCost the default point cost of the starter found in {@linkcode speciesStarterCosts}
|
||||
* @returns respective candy cost for the two cost reductions as an array 2 numbers
|
||||
*/
|
||||
export function getValueReductionCandyCounts(starterCost: number): [number, number] {
|
||||
return starterCandyCosts[starterCost - 1].costReduction;
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for {@linkcode starterCandyCosts} for egg purchase candy cost based on initial point cost
|
||||
* @param starterCost the default point cost of the starter found in {@linkcode speciesStarterCosts}
|
||||
* @returns the candy cost for the purchasable egg
|
||||
*/
|
||||
export function getSameSpeciesEggCandyCounts(starterCost: number): number {
|
||||
return starterCandyCosts[starterCost - 1].egg;
|
||||
}
|
||||
|
@ -2,7 +2,7 @@ import * as Utils from "#app/utils";
|
||||
import i18next from "i18next";
|
||||
import { defaultStarterSpecies, DexAttrProps, GameData } from "#app/system/game-data";
|
||||
import PokemonSpecies, { getPokemonSpecies, getPokemonSpeciesForm } from "#app/data/pokemon-species";
|
||||
import { speciesStarters } from "#app/data/balance/starters";
|
||||
import { speciesStarterCosts } from "#app/data/balance/starters";
|
||||
import Pokemon, { PokemonMove } from "#app/field/pokemon";
|
||||
import { BattleType, FixedBattleConfig } from "#app/battle";
|
||||
import Trainer, { TrainerVariant } from "#app/field/trainer";
|
||||
@ -638,7 +638,7 @@ export class FreshStartChallenge extends Challenge {
|
||||
|
||||
applyStarterCost(species: Species, cost: Utils.NumberHolder): boolean {
|
||||
if (defaultStarterSpecies.includes(species)) {
|
||||
cost.value = speciesStarters[species];
|
||||
cost.value = speciesStarterCosts[species];
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
@ -720,7 +720,7 @@ export class LowerStarterMaxCostChallenge extends Challenge {
|
||||
}
|
||||
|
||||
applyStarterChoice(pokemon: PokemonSpecies, valid: Utils.BooleanHolder): boolean {
|
||||
if (speciesStarters[pokemon.speciesId] > DEFAULT_PARTY_MAX_COST - this.value) {
|
||||
if (speciesStarterCosts[pokemon.speciesId] > DEFAULT_PARTY_MAX_COST - this.value) {
|
||||
valid.value = false;
|
||||
return true;
|
||||
}
|
||||
|
@ -5,7 +5,7 @@ import { PlayerPokemon } from "#app/field/pokemon";
|
||||
import { Starter } from "#app/ui/starter-select-ui-handler";
|
||||
import * as Utils from "#app/utils";
|
||||
import PokemonSpecies, { PokemonSpeciesForm, getPokemonSpecies, getPokemonSpeciesForm } from "#app/data/pokemon-species";
|
||||
import { speciesStarters } from "#app/data/balance/starters";
|
||||
import { speciesStarterCosts } from "#app/data/balance/starters";
|
||||
|
||||
export interface DailyRunConfig {
|
||||
seed: integer;
|
||||
@ -47,9 +47,9 @@ export function getDailyRunStarters(scene: BattleScene, seed: string): Starter[]
|
||||
|
||||
for (let c = 0; c < starterCosts.length; c++) {
|
||||
const cost = starterCosts[c];
|
||||
const costSpecies = Object.keys(speciesStarters)
|
||||
const costSpecies = Object.keys(speciesStarterCosts)
|
||||
.map(s => parseInt(s) as Species)
|
||||
.filter(s => speciesStarters[s] === cost);
|
||||
.filter(s => speciesStarterCosts[s] === cost);
|
||||
const randPkmSpecies = getPokemonSpecies(Utils.randSeedItem(costSpecies));
|
||||
const starterSpecies = getPokemonSpecies(randPkmSpecies.getTrainerSpeciesForLevel(startingLevel, true, PartyMemberStrength.STRONGER));
|
||||
starters.push(getDailyRunStarter(scene, starterSpecies, startingLevel));
|
||||
|
@ -1,6 +1,6 @@
|
||||
import BattleScene from "#app/battle-scene";
|
||||
import PokemonSpecies, { getPokemonSpecies } from "#app/data/pokemon-species";
|
||||
import { speciesStarters } from "#app/data/balance/starters";
|
||||
import { speciesStarterCosts } from "#app/data/balance/starters";
|
||||
import { VariantTier } from "#enums/variant-tier";
|
||||
import * as Utils from "#app/utils";
|
||||
import Overrides from "#app/overrides";
|
||||
@ -398,8 +398,8 @@ export class Egg {
|
||||
|
||||
const ignoredSpecies = [Species.PHIONE, Species.MANAPHY, Species.ETERNATUS];
|
||||
|
||||
let speciesPool = Object.keys(speciesStarters)
|
||||
.filter(s => speciesStarters[s] >= minStarterValue && speciesStarters[s] <= maxStarterValue)
|
||||
let speciesPool = Object.keys(speciesStarterCosts)
|
||||
.filter(s => speciesStarterCosts[s] >= minStarterValue && speciesStarterCosts[s] <= maxStarterValue)
|
||||
.map(s => parseInt(s) as Species)
|
||||
.filter(s => !pokemonPrevolutions.hasOwnProperty(s) && getPokemonSpecies(s).isObtainable() && ignoredSpecies.indexOf(s) === -1);
|
||||
|
||||
@ -430,7 +430,7 @@ export class Egg {
|
||||
let totalWeight = 0;
|
||||
const speciesWeights : number[] = [];
|
||||
for (const speciesId of speciesPool) {
|
||||
let weight = Math.floor((((maxStarterValue - speciesStarters[speciesId]) / ((maxStarterValue - minStarterValue) + 1)) * 1.5 + 1) * 100);
|
||||
let weight = Math.floor((((maxStarterValue - speciesStarterCosts[speciesId]) / ((maxStarterValue - minStarterValue) + 1)) * 1.5 + 1) * 100);
|
||||
const species = getPokemonSpecies(speciesId);
|
||||
if (species.isRegional()) {
|
||||
weight = Math.floor(weight / 2);
|
||||
@ -533,7 +533,7 @@ export class Egg {
|
||||
}
|
||||
|
||||
private getEggTierFromSpeciesStarterValue(): EggTier {
|
||||
const speciesStartValue = speciesStarters[this.species];
|
||||
const speciesStartValue = speciesStarterCosts[this.species];
|
||||
if (speciesStartValue >= 1 && speciesStartValue <= 3) {
|
||||
return EggTier.COMMON;
|
||||
}
|
||||
@ -556,7 +556,7 @@ export class Egg {
|
||||
}
|
||||
|
||||
export function getLegendaryGachaSpeciesForTimestamp(scene: BattleScene, timestamp: number): Species {
|
||||
const legendarySpecies = Object.entries(speciesStarters)
|
||||
const legendarySpecies = Object.entries(speciesStarterCosts)
|
||||
.filter(s => s[1] >= 8 && s[1] <= 9)
|
||||
.map(s => parseInt(s[0]))
|
||||
.filter(s => getPokemonSpecies(s).isObtainable());
|
||||
@ -583,7 +583,7 @@ export function getLegendaryGachaSpeciesForTimestamp(scene: BattleScene, timesta
|
||||
* @returns The egg tier of a given pokemon species
|
||||
*/
|
||||
export function getEggTierForSpecies(pokemonSpecies :PokemonSpecies): EggTier {
|
||||
const speciesBaseValue = speciesStarters[pokemonSpecies.getRootSpeciesId()];
|
||||
const speciesBaseValue = speciesStarterCosts[pokemonSpecies.getRootSpeciesId()];
|
||||
if (speciesBaseValue <= 3) {
|
||||
return EggTier.COMMON;
|
||||
} else if (speciesBaseValue <= 5) {
|
||||
|
@ -9,7 +9,7 @@ import { AbilityRequirement, CombinationPokemonRequirement, MoveRequirement } fr
|
||||
import { getHighestStatTotalPlayerPokemon } from "#app/data/mystery-encounters/utils/encounter-pokemon-utils";
|
||||
import { EXTORTION_ABILITIES, EXTORTION_MOVES } from "#app/data/mystery-encounters/requirements/requirement-groups";
|
||||
import { getPokemonSpecies } from "#app/data/pokemon-species";
|
||||
import { speciesStarters } from "#app/data/balance/starters";
|
||||
import { speciesStarterCosts } from "#app/data/balance/starters";
|
||||
import { MysteryEncounterTier } from "#enums/mystery-encounter-tier";
|
||||
import { MysteryEncounterOptionMode } from "#enums/mystery-encounter-option-mode";
|
||||
import { ModifierRewardPhase } from "#app/phases/modifier-reward-phase";
|
||||
@ -72,7 +72,7 @@ export const AnOfferYouCantRefuseEncounter: MysteryEncounter =
|
||||
const pokemon = getHighestStatTotalPlayerPokemon(scene, true, true);
|
||||
|
||||
const baseSpecies = pokemon.getSpeciesForm().getRootSpeciesId();
|
||||
const starterValue: number = speciesStarters[baseSpecies] ?? 1;
|
||||
const starterValue: number = speciesStarterCosts[baseSpecies] ?? 1;
|
||||
const multiplier = Math.max(MONEY_MAXIMUM_MULTIPLIER / 10 * starterValue, MONEY_MINIMUM_MULTIPLIER);
|
||||
const price = scene.getWaveMoneyAmount(multiplier);
|
||||
|
||||
|
@ -11,7 +11,7 @@ import { TrainerType } from "#enums/trainer-type";
|
||||
import i18next from "i18next";
|
||||
import { Species } from "#enums/species";
|
||||
import { getPokemonSpecies } from "#app/data/pokemon-species";
|
||||
import { speciesStarters } from "#app/data/balance/starters";
|
||||
import { speciesStarterCosts } from "#app/data/balance/starters";
|
||||
import { Nature } from "#enums/nature";
|
||||
import { Moves } from "#enums/moves";
|
||||
import { PlayerPokemon } from "#app/field/pokemon";
|
||||
@ -455,8 +455,8 @@ function calculateEggRewardsForPokemon(pokemon: PlayerPokemon): [number, number]
|
||||
const rootSpecies = pokemon.species.getRootSpeciesId();
|
||||
let pointsFromStarterTier = 0;
|
||||
// 2 points for every 1 below 7 that the pokemon's starter tier is (max 12, min 0)
|
||||
if (speciesStarters.hasOwnProperty(rootSpecies)) {
|
||||
const starterTier = speciesStarters[rootSpecies];
|
||||
if (speciesStarterCosts.hasOwnProperty(rootSpecies)) {
|
||||
const starterTier = speciesStarterCosts[rootSpecies];
|
||||
pointsFromStarterTier = Math.min(Math.max(Math.floor(7 - starterTier) * 2, 0), 12);
|
||||
}
|
||||
|
||||
|
@ -6,7 +6,7 @@ import MysteryEncounter, { MysteryEncounterBuilder } from "#app/data/mystery-enc
|
||||
import { MoneyRequirement } from "#app/data/mystery-encounters/mystery-encounter-requirements";
|
||||
import { catchPokemon, getRandomSpeciesByStarterTier, getSpriteKeysFromPokemon } from "#app/data/mystery-encounters/utils/encounter-pokemon-utils";
|
||||
import { getPokemonSpecies } from "#app/data/pokemon-species";
|
||||
import { speciesStarters } from "#app/data/balance/starters";
|
||||
import { speciesStarterCosts } from "#app/data/balance/starters";
|
||||
import { Species } from "#enums/species";
|
||||
import { PokeballType } from "#app/data/pokeball";
|
||||
import { EnemyPokemon, PlayerPokemon } from "#app/field/pokemon";
|
||||
@ -89,7 +89,7 @@ export const ThePokemonSalesmanEncounter: MysteryEncounter =
|
||||
isPokemon: true
|
||||
});
|
||||
|
||||
const starterTier = speciesStarters[species.speciesId];
|
||||
const starterTier = speciesStarterCosts[species.speciesId];
|
||||
// Prices decrease by starter tier less than 5, but only reduces cost by half at max
|
||||
let priceMultiplier = MAX_POKEMON_PRICE_MULTIPLIER * (Math.max(starterTier, 2.5) / 5);
|
||||
if (pokemon.shiny) {
|
||||
|
@ -1,7 +1,7 @@
|
||||
import { Ability, allAbilities } from "#app/data/ability";
|
||||
import { EnemyPartyConfig, initBattleWithEnemyConfig, leaveEncounterWithoutBattle, selectPokemonForOption, setEncounterRewards, } from "#app/data/mystery-encounters/utils/encounter-phase-utils";
|
||||
import { getNatureName, Nature } from "#app/data/nature";
|
||||
import { speciesStarters } from "#app/data/balance/starters";
|
||||
import { speciesStarterCosts } from "#app/data/balance/starters";
|
||||
import Pokemon, { PlayerPokemon } from "#app/field/pokemon";
|
||||
import { PokemonHeldItemModifier } from "#app/modifier/modifier";
|
||||
import { AbilityAttr } from "#app/system/game-data";
|
||||
@ -326,7 +326,7 @@ export const TrainingSessionEncounter: MysteryEncounter =
|
||||
// Only update the fusion's dex data if the Pokemon is already caught in dex (ignore rentals)
|
||||
const rootFusionSpecies = playerPokemon.fusionSpecies?.getRootSpeciesId();
|
||||
if (!isNullOrUndefined(rootFusionSpecies)
|
||||
&& speciesStarters.hasOwnProperty(rootFusionSpecies)
|
||||
&& speciesStarterCosts.hasOwnProperty(rootFusionSpecies)
|
||||
&& !!scene.gameData.dexData[rootFusionSpecies].caughtAttr) {
|
||||
scene.gameData.starterData[rootFusionSpecies].abilityAttr |= playerPokemon.fusionAbilityIndex !== 1 || playerPokemon.fusionSpecies?.ability2
|
||||
? 1 << playerPokemon.fusionAbilityIndex
|
||||
|
@ -13,7 +13,7 @@ import { PartyOption, PartyUiMode } from "#app/ui/party-ui-handler";
|
||||
import { Species } from "#enums/species";
|
||||
import { Type } from "#app/data/type";
|
||||
import PokemonSpecies, { getPokemonSpecies } from "#app/data/pokemon-species";
|
||||
import { speciesStarters } from "#app/data/balance/starters";
|
||||
import { speciesStarterCosts } from "#app/data/balance/starters";
|
||||
import { getEncounterText, queueEncounterMessage, showEncounterText } from "#app/data/mystery-encounters/utils/encounter-dialogue-utils";
|
||||
import { getPokemonNameWithAffix } from "#app/messages";
|
||||
import { modifierTypes, PokemonHeldItemModifierType } from "#app/modifier/modifier-type";
|
||||
@ -207,8 +207,8 @@ export function getRandomSpeciesByStarterTier(starterTiers: number | [number, nu
|
||||
let min = Array.isArray(starterTiers) ? starterTiers[0] : starterTiers;
|
||||
let max = Array.isArray(starterTiers) ? starterTiers[1] : starterTiers;
|
||||
|
||||
let filteredSpecies: [PokemonSpecies, number][] = Object.keys(speciesStarters)
|
||||
.map(s => [parseInt(s) as Species, speciesStarters[s] as number])
|
||||
let filteredSpecies: [PokemonSpecies, number][] = Object.keys(speciesStarterCosts)
|
||||
.map(s => [parseInt(s) as Species, speciesStarterCosts[s] as number])
|
||||
.filter(s => {
|
||||
const pokemonSpecies = getPokemonSpecies(s[0]);
|
||||
return pokemonSpecies && (!excludedSpecies || !excludedSpecies.includes(s[0]))
|
||||
|
@ -16,7 +16,7 @@ import { Type } from "#app/data/type";
|
||||
import { LevelMoves, pokemonFormLevelMoves, pokemonFormLevelMoves as pokemonSpeciesFormLevelMoves, pokemonSpeciesLevelMoves } from "#app/data/balance/pokemon-level-moves";
|
||||
import { Stat } from "#enums/stat";
|
||||
import { Variant, VariantSet, variantColorCache, variantData } from "#app/data/variant";
|
||||
import { speciesStarters, POKERUS_STARTER_COUNT } from "#app/data/balance/starters";
|
||||
import { speciesStarterCosts, POKERUS_STARTER_COUNT } from "#app/data/balance/starters";
|
||||
|
||||
export enum Region {
|
||||
NORMAL,
|
||||
@ -173,7 +173,7 @@ export abstract class PokemonSpeciesForm {
|
||||
*/
|
||||
getRootSpeciesId(forStarter: boolean = false): Species {
|
||||
let ret = this.speciesId;
|
||||
while (pokemonPrevolutions.hasOwnProperty(ret) && (!forStarter || !speciesStarters.hasOwnProperty(ret))) {
|
||||
while (pokemonPrevolutions.hasOwnProperty(ret) && (!forStarter || !speciesStarterCosts.hasOwnProperty(ret))) {
|
||||
ret = pokemonPrevolutions[ret];
|
||||
}
|
||||
return ret;
|
||||
@ -967,7 +967,7 @@ export function getPokerusStarters(scene: BattleScene): PokemonSpecies[] {
|
||||
date.setUTCHours(0, 0, 0, 0);
|
||||
scene.executeWithSeedOffset(() => {
|
||||
while (pokerusStarters.length < POKERUS_STARTER_COUNT) {
|
||||
const randomSpeciesId = parseInt(Utils.randSeedItem(Object.keys(speciesStarters)), 10);
|
||||
const randomSpeciesId = parseInt(Utils.randSeedItem(Object.keys(speciesStarterCosts)), 10);
|
||||
const species = getPokemonSpecies(randomSpeciesId);
|
||||
if (!pokerusStarters.includes(species)) {
|
||||
pokerusStarters.push(species);
|
||||
|
@ -5,7 +5,8 @@ import { variantData } from "#app/data/variant";
|
||||
import BattleInfo, { PlayerBattleInfo, EnemyBattleInfo } from "#app/ui/battle-info";
|
||||
import Move, { HighCritAttr, HitsTagAttr, applyMoveAttrs, FixedDamageAttr, VariableAtkAttr, allMoves, MoveCategory, TypelessAttr, CritOnlyAttr, getMoveTargets, OneHitKOAttr, VariableMoveTypeAttr, VariableDefAttr, AttackMove, ModifiedDamageAttr, VariableMoveTypeMultiplierAttr, IgnoreOpponentStatStagesAttr, SacrificialAttr, VariableMoveCategoryAttr, CounterDamageAttr, StatStageChangeAttr, RechargeAttr, ChargeAttr, IgnoreWeatherTypeDebuffAttr, BypassBurnDamageReductionAttr, SacrificialAttrOnHit, OneHitKOAccuracyAttr, RespectAttackTypeImmunityAttr, MoveTarget } from "#app/data/move";
|
||||
import { default as PokemonSpecies, PokemonSpeciesForm, SpeciesFormKey, getFusedSpeciesName, getPokemonSpecies, getPokemonSpeciesForm } from "#app/data/pokemon-species";
|
||||
import { getStarterValueFriendshipCap, speciesStarters, starterPassiveAbilities } from "#app/data/balance/starters";
|
||||
import { getStarterValueFriendshipCap, speciesStarterCosts } from "#app/data/balance/starters";
|
||||
import { starterPassiveAbilities } from "#app/data/balance/passives";
|
||||
import { Constructor, isNullOrUndefined, randSeedInt } from "#app/utils";
|
||||
import * as Utils from "#app/utils";
|
||||
import { Type, TypeDamageMultiplier, getTypeDamageMultiplier, getTypeRgb } from "#app/data/type";
|
||||
@ -4048,7 +4049,7 @@ export class PlayerPokemon extends Pokemon {
|
||||
starterData.forEach((sd: StarterDataEntry, i: integer) => {
|
||||
const speciesId = !i ? starterSpeciesId : fusionStarterSpeciesId as Species;
|
||||
sd.friendship = (sd.friendship || 0) + starterAmount.value;
|
||||
if (sd.friendship >= getStarterValueFriendshipCap(speciesStarters[speciesId])) {
|
||||
if (sd.friendship >= getStarterValueFriendshipCap(speciesStarterCosts[speciesId])) {
|
||||
this.scene.gameData.addStarterCandy(getPokemonSpecies(speciesId), 1);
|
||||
sd.friendship = 0;
|
||||
}
|
||||
|
@ -2,7 +2,7 @@ import BattleScene from "#app/battle-scene";
|
||||
import { TurnCommand, BattleType } from "#app/battle";
|
||||
import { TrappedTag, EncoreTag } from "#app/data/battler-tags";
|
||||
import { MoveTargetSet, getMoveTargets } from "#app/data/move";
|
||||
import { speciesStarters } from "#app/data/balance/starters";
|
||||
import { speciesStarterCosts } from "#app/data/balance/starters";
|
||||
import { Abilities } from "#app/enums/abilities";
|
||||
import { BattlerTagType } from "#app/enums/battler-tag-type";
|
||||
import { Biome } from "#app/enums/biome";
|
||||
@ -126,7 +126,7 @@ export class CommandPhase extends FieldPhase {
|
||||
}
|
||||
break;
|
||||
case Command.BALL:
|
||||
const notInDex = (this.scene.getEnemyField().filter(p => p.isActive(true)).some(p => !p.scene.gameData.dexData[p.species.speciesId].caughtAttr) && this.scene.gameData.getStarterCount(d => !!d.caughtAttr) < Object.keys(speciesStarters).length - 1);
|
||||
const notInDex = (this.scene.getEnemyField().filter(p => p.isActive(true)).some(p => !p.scene.gameData.dexData[p.species.speciesId].caughtAttr) && this.scene.gameData.getStarterCount(d => !!d.caughtAttr) < Object.keys(speciesStarterCosts).length - 1);
|
||||
if (this.scene.arena.biomeType === Biome.END && (!this.scene.gameMode.isClassic || this.scene.gameMode.isFreshStartChallenge() || notInDex )) {
|
||||
this.scene.ui.setMode(Mode.COMMAND, this.fieldIndex);
|
||||
this.scene.ui.setMode(Mode.MESSAGE);
|
||||
|
@ -3,7 +3,7 @@ import BattleScene, { bypassLogin, PokeballCounts } from "#app/battle-scene";
|
||||
import Pokemon, { EnemyPokemon, PlayerPokemon } from "#app/field/pokemon";
|
||||
import { pokemonPrevolutions } from "#app/data/balance/pokemon-evolutions";
|
||||
import PokemonSpecies, { allSpecies, getPokemonSpecies, noStarterFormKeys } from "#app/data/pokemon-species";
|
||||
import { speciesStarters } from "#app/data/balance/starters";
|
||||
import { speciesStarterCosts } from "#app/data/balance/starters";
|
||||
import * as Utils from "#app/utils";
|
||||
import Overrides from "#app/overrides";
|
||||
import PokemonData from "#app/system/pokemon-data";
|
||||
@ -1538,7 +1538,7 @@ export class GameData {
|
||||
private initStarterData(): void {
|
||||
const starterData: StarterData = {};
|
||||
|
||||
const starterSpeciesIds = Object.keys(speciesStarters).map(k => parseInt(k) as Species);
|
||||
const starterSpeciesIds = Object.keys(speciesStarterCosts).map(k => parseInt(k) as Species);
|
||||
|
||||
for (const speciesId of starterSpeciesIds) {
|
||||
starterData[speciesId] = {
|
||||
@ -1618,7 +1618,7 @@ export class GameData {
|
||||
dexEntry.caughtAttr |= dexAttr;
|
||||
|
||||
// Unlock ability
|
||||
if (speciesStarters.hasOwnProperty(species.speciesId)) {
|
||||
if (speciesStarterCosts.hasOwnProperty(species.speciesId)) {
|
||||
this.starterData[species.speciesId].abilityAttr |= pokemon.abilityIndex !== 1 || pokemon.species.ability2
|
||||
? 1 << pokemon.abilityIndex
|
||||
: AbilityAttr.ABILITY_HIDDEN;
|
||||
@ -1674,7 +1674,7 @@ export class GameData {
|
||||
}
|
||||
};
|
||||
|
||||
if (newCatch && speciesStarters.hasOwnProperty(species.speciesId)) {
|
||||
if (newCatch && speciesStarterCosts.hasOwnProperty(species.speciesId)) {
|
||||
if (!showMessage) {
|
||||
resolve(true);
|
||||
return;
|
||||
@ -1802,7 +1802,7 @@ export class GameData {
|
||||
}
|
||||
|
||||
getStarterCount(dexEntryPredicate: (entry: DexEntry) => boolean): integer {
|
||||
const starterKeys = Object.keys(speciesStarters);
|
||||
const starterKeys = Object.keys(speciesStarterCosts);
|
||||
let starterCount = 0;
|
||||
for (const s of starterKeys) {
|
||||
const starterDexEntry = this.dexData[s];
|
||||
@ -1876,7 +1876,7 @@ export class GameData {
|
||||
}
|
||||
|
||||
getSpeciesStarterValue(speciesId: Species): number {
|
||||
const baseValue = speciesStarters[speciesId];
|
||||
const baseValue = speciesStarterCosts[speciesId];
|
||||
let value = baseValue;
|
||||
|
||||
const decrementValue = (value: number) => {
|
||||
|
@ -7,7 +7,7 @@ import BattleScene from "#app/battle-scene";
|
||||
import { StatusEffect } from "#app/data/status-effect";
|
||||
import MysteryEncounter from "#app/data/mystery-encounters/mystery-encounter";
|
||||
import { getPokemonSpecies } from "#app/data/pokemon-species";
|
||||
import { speciesStarters } from "#app/data/balance/starters";
|
||||
import { speciesStarterCosts } from "#app/data/balance/starters";
|
||||
import { Type } from "#app/data/type";
|
||||
import { getHighestLevelPlayerPokemon, getLowestLevelPlayerPokemon, getRandomPlayerPokemon, getRandomSpeciesByStarterTier, koPlayerPokemon } from "#app/data/mystery-encounters/utils/encounter-pokemon-utils";
|
||||
import { getEncounterText, queueEncounterMessage, showEncounterDialogue, showEncounterText } from "#app/data/mystery-encounters/utils/encounter-dialogue-utils";
|
||||
@ -210,7 +210,7 @@ describe("Mystery Encounter Utils", () => {
|
||||
const pokeSpecies = getPokemonSpecies(result);
|
||||
|
||||
expect(pokeSpecies.speciesId).toBe(result);
|
||||
expect(speciesStarters[result]).toBe(5);
|
||||
expect(speciesStarterCosts[result]).toBe(5);
|
||||
});
|
||||
|
||||
it("gets species for a starter tier range", () => {
|
||||
@ -218,8 +218,8 @@ describe("Mystery Encounter Utils", () => {
|
||||
const pokeSpecies = getPokemonSpecies(result);
|
||||
|
||||
expect(pokeSpecies.speciesId).toBe(result);
|
||||
expect(speciesStarters[result]).toBeGreaterThanOrEqual(5);
|
||||
expect(speciesStarters[result]).toBeLessThanOrEqual(8);
|
||||
expect(speciesStarterCosts[result]).toBeGreaterThanOrEqual(5);
|
||||
expect(speciesStarterCosts[result]).toBeLessThanOrEqual(8);
|
||||
});
|
||||
|
||||
it("excludes species from search", () => {
|
||||
|
@ -6,7 +6,7 @@ import UiHandler from "#app/ui/ui-handler";
|
||||
import { addWindow } from "#app/ui/ui-theme";
|
||||
import * as Utils from "#app/utils";
|
||||
import { DexAttr, GameData } from "#app/system/game-data";
|
||||
import { speciesStarters } from "#app/data/balance/starters";
|
||||
import { speciesStarterCosts } from "#app/data/balance/starters";
|
||||
import { Button } from "#enums/buttons";
|
||||
import i18next from "i18next";
|
||||
import { UiTheme } from "#enums/ui-theme";
|
||||
@ -34,14 +34,14 @@ const displayStats: DisplayStats = {
|
||||
label_key: "starters",
|
||||
sourceFunc: gameData => {
|
||||
const starterCount = gameData.getStarterCount(d => !!d.caughtAttr);
|
||||
return `${starterCount} (${Math.floor((starterCount / Object.keys(speciesStarters).length) * 1000) / 10}%)`;
|
||||
return `${starterCount} (${Math.floor((starterCount / Object.keys(speciesStarterCosts).length) * 1000) / 10}%)`;
|
||||
}
|
||||
},
|
||||
shinyStartersUnlocked: {
|
||||
label_key: "shinyStarters",
|
||||
sourceFunc: gameData => {
|
||||
const starterCount = gameData.getStarterCount(d => !!(d.caughtAttr & DexAttr.SHINY));
|
||||
return `${starterCount} (${Math.floor((starterCount / Object.keys(speciesStarters).length) * 1000) / 10}%)`;
|
||||
return `${starterCount} (${Math.floor((starterCount / Object.keys(speciesStarterCosts).length) * 1000) / 10}%)`;
|
||||
}
|
||||
},
|
||||
dexSeen: {
|
||||
|
@ -14,7 +14,8 @@ import { Nature, getNatureName } from "#app/data/nature";
|
||||
import { pokemonFormChanges } from "#app/data/pokemon-forms";
|
||||
import { LevelMoves, pokemonFormLevelMoves, pokemonSpeciesLevelMoves } from "#app/data/balance/pokemon-level-moves";
|
||||
import PokemonSpecies, { allSpecies, getPokemonSpeciesForm, getPokerusStarters } from "#app/data/pokemon-species";
|
||||
import { getStarterValueFriendshipCap, speciesStarters, starterPassiveAbilities, POKERUS_STARTER_COUNT } from "#app/data/balance/starters";
|
||||
import { getStarterValueFriendshipCap, speciesStarterCosts, POKERUS_STARTER_COUNT } from "#app/data/balance/starters";
|
||||
import { starterPassiveAbilities } from "#app/data/balance/passives";
|
||||
import { Type } from "#app/data/type";
|
||||
import { GameModes } from "#app/game-mode";
|
||||
import { AbilityAttr, DexAttr, DexAttrProps, DexEntry, StarterMoveset, StarterAttributes, StarterPreferences, StarterPrefs } from "#app/system/game-data";
|
||||
@ -635,7 +636,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler {
|
||||
starterBoxContainer.add(this.cursorObj);
|
||||
|
||||
for (const species of allSpecies) {
|
||||
if (!speciesStarters.hasOwnProperty(species.speciesId) || !species.isObtainable()) {
|
||||
if (!speciesStarterCosts.hasOwnProperty(species.speciesId) || !species.isObtainable()) {
|
||||
continue;
|
||||
}
|
||||
|
||||
@ -1089,7 +1090,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler {
|
||||
// Get this species ID's starter data
|
||||
const starterData = this.scene.gameData.starterData[speciesId];
|
||||
|
||||
return starterData.candyCount >= getPassiveCandyCount(speciesStarters[speciesId])
|
||||
return starterData.candyCount >= getPassiveCandyCount(speciesStarterCosts[speciesId])
|
||||
&& !(starterData.passiveAttr & PassiveAttr.UNLOCKED);
|
||||
}
|
||||
|
||||
@ -1102,7 +1103,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler {
|
||||
// Get this species ID's starter data
|
||||
const starterData = this.scene.gameData.starterData[speciesId];
|
||||
|
||||
return starterData.candyCount >= getValueReductionCandyCounts(speciesStarters[speciesId])[starterData.valueReduction]
|
||||
return starterData.candyCount >= getValueReductionCandyCounts(speciesStarterCosts[speciesId])[starterData.valueReduction]
|
||||
&& starterData.valueReduction < valueReductionMax;
|
||||
}
|
||||
|
||||
@ -1115,7 +1116,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler {
|
||||
// Get this species ID's starter data
|
||||
const starterData = this.scene.gameData.starterData[speciesId];
|
||||
|
||||
return starterData.candyCount >= getSameSpeciesEggCandyCounts(speciesStarters[speciesId]);
|
||||
return starterData.candyCount >= getSameSpeciesEggCandyCounts(speciesStarterCosts[speciesId]);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -1709,7 +1710,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler {
|
||||
|
||||
// Unlock passive option
|
||||
if (!(passiveAttr & PassiveAttr.UNLOCKED)) {
|
||||
const passiveCost = getPassiveCandyCount(speciesStarters[this.lastSpecies.speciesId]);
|
||||
const passiveCost = getPassiveCandyCount(speciesStarterCosts[this.lastSpecies.speciesId]);
|
||||
options.push({
|
||||
label: `x${passiveCost} ${i18next.t("starterSelectUiHandler:unlockPassive")} (${allAbilities[starterPassiveAbilities[this.lastSpecies.speciesId]].name})`,
|
||||
handler: () => {
|
||||
@ -1745,7 +1746,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler {
|
||||
// Reduce cost option
|
||||
const valueReduction = starterData.valueReduction;
|
||||
if (valueReduction < valueReductionMax) {
|
||||
const reductionCost = getValueReductionCandyCounts(speciesStarters[this.lastSpecies.speciesId])[valueReduction];
|
||||
const reductionCost = getValueReductionCandyCounts(speciesStarterCosts[this.lastSpecies.speciesId])[valueReduction];
|
||||
options.push({
|
||||
label: `x${reductionCost} ${i18next.t("starterSelectUiHandler:reduceCost")}`,
|
||||
handler: () => {
|
||||
@ -1779,7 +1780,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler {
|
||||
}
|
||||
|
||||
// Same species egg menu option.
|
||||
const sameSpeciesEggCost = getSameSpeciesEggCandyCounts(speciesStarters[this.lastSpecies.speciesId]);
|
||||
const sameSpeciesEggCost = getSameSpeciesEggCandyCounts(speciesStarterCosts[this.lastSpecies.speciesId]);
|
||||
options.push({
|
||||
label: `x${sameSpeciesEggCost} ${i18next.t("starterSelectUiHandler:sameSpeciesEgg")}`,
|
||||
handler: () => {
|
||||
@ -2700,7 +2701,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler {
|
||||
currentFriendship = 0;
|
||||
}
|
||||
|
||||
const friendshipCap = getStarterValueFriendshipCap(speciesStarters[speciesId]);
|
||||
const friendshipCap = getStarterValueFriendshipCap(speciesStarterCosts[speciesId]);
|
||||
|
||||
return { currentFriendship, friendshipCap };
|
||||
}
|
||||
@ -3333,7 +3334,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler {
|
||||
|
||||
updateStarterValueLabel(starter: StarterContainer): void {
|
||||
const speciesId = starter.species.speciesId;
|
||||
const baseStarterValue = speciesStarters[speciesId];
|
||||
const baseStarterValue = speciesStarterCosts[speciesId];
|
||||
const starterValue = this.scene.gameData.getSpeciesStarterValue(speciesId);
|
||||
starter.cost = starterValue;
|
||||
let valueStr = starterValue.toString();
|
||||
|
@ -3,7 +3,7 @@ import { Mode } from "#app/ui/ui";
|
||||
import UiHandler from "#app/ui/ui-handler";
|
||||
import * as Utils from "#app/utils";
|
||||
import { PlayerPokemon, PokemonMove } from "#app/field/pokemon";
|
||||
import { getStarterValueFriendshipCap, speciesStarters } from "#app/data/balance/starters";
|
||||
import { getStarterValueFriendshipCap, speciesStarterCosts } from "#app/data/balance/starters";
|
||||
import { argbFromRgba } from "@material/material-color-utilities";
|
||||
import { Type, getTypeRgb } from "#app/data/type";
|
||||
import { TextStyle, addBBCodeTextObject, addTextObject, getBBCodeFrag } from "#app/ui/text";
|
||||
@ -333,7 +333,7 @@ export default class SummaryUiHandler extends UiHandler {
|
||||
currentFriendship = 0;
|
||||
}
|
||||
|
||||
const friendshipCap = getStarterValueFriendshipCap(speciesStarters[this.pokemon.species.getRootSpeciesId()]);
|
||||
const friendshipCap = getStarterValueFriendshipCap(speciesStarterCosts[this.pokemon.species.getRootSpeciesId()]);
|
||||
const candyCropY = 16 - (16 * (currentFriendship / friendshipCap));
|
||||
|
||||
if (this.candyShadow.visible) {
|
||||
|
Loading…
Reference in New Issue
Block a user