pokerogue/src/data/balance/starters.ts
NightKev 9dcb904649
[Misc] Improve enum naming (#5933)
* Rename `Abilities` to `AbilityId`

* Rename `abilities.ts` to `ability-id.ts`

* Rename `Moves` to `MoveId`

* Rename `moves.ts` to `move-id.ts`

* Rename `Species` to `SpeciesId`

* Rename `species.ts` to `species-id.ts`

* Rename `Biome` to `BiomeId`

* Rename `biome.ts` to `biome-id.ts`

* Replace `Abilities` with `AbilityId` in comments

* Replace `Biome` with `BiomeId` in comments

* Replace `Moves` with `MoveId` in comments

* Replace `Species` with `SpeciesId` in comments
2025-06-04 14:54:27 -07:00

661 lines
18 KiB
TypeScript

import { SpeciesId } from "#enums/species-id";
export const POKERUS_STARTER_COUNT = 5;
// #region Friendship constants
export const CLASSIC_CANDY_FRIENDSHIP_MULTIPLIER = 3;
export const FRIENDSHIP_GAIN_FROM_BATTLE = 3;
export const FRIENDSHIP_GAIN_FROM_RARE_CANDY = 6;
export const FRIENDSHIP_LOSS_FROM_FAINT = 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:
return 25;
case 2:
return 50;
case 3:
return 75;
case 4:
return 100;
case 5:
return 150;
case 6:
return 200;
case 7:
return 300;
case 8:
case 9:
return 450;
default:
return 600;
}
}
export const speciesStarterCosts = {
[SpeciesId.BULBASAUR]: 3,
[SpeciesId.CHARMANDER]: 3,
[SpeciesId.SQUIRTLE]: 3,
[SpeciesId.CATERPIE]: 2,
[SpeciesId.WEEDLE]: 1,
[SpeciesId.PIDGEY]: 1,
[SpeciesId.RATTATA]: 1,
[SpeciesId.SPEAROW]: 1,
[SpeciesId.EKANS]: 2,
[SpeciesId.PIKACHU]: 4,
[SpeciesId.SANDSHREW]: 2,
[SpeciesId.NIDORAN_F]: 3,
[SpeciesId.NIDORAN_M]: 3,
[SpeciesId.VULPIX]: 3,
[SpeciesId.ZUBAT]: 3,
[SpeciesId.ODDISH]: 3,
[SpeciesId.PARAS]: 2,
[SpeciesId.VENONAT]: 2,
[SpeciesId.DIGLETT]: 2,
[SpeciesId.MEOWTH]: 3,
[SpeciesId.PSYDUCK]: 2,
[SpeciesId.MANKEY]: 4,
[SpeciesId.GROWLITHE]: 4,
[SpeciesId.POLIWAG]: 2,
[SpeciesId.ABRA]: 4,
[SpeciesId.MACHOP]: 3,
[SpeciesId.BELLSPROUT]: 2,
[SpeciesId.TENTACOOL]: 3,
[SpeciesId.GEODUDE]: 3,
[SpeciesId.PONYTA]: 2,
[SpeciesId.SLOWPOKE]: 3,
[SpeciesId.MAGNEMITE]: 4,
[SpeciesId.FARFETCHD]: 2,
[SpeciesId.DODUO]: 3,
[SpeciesId.SEEL]: 1,
[SpeciesId.GRIMER]: 2,
[SpeciesId.SHELLDER]: 5,
[SpeciesId.GASTLY]: 4,
[SpeciesId.ONIX]: 3,
[SpeciesId.DROWZEE]: 2,
[SpeciesId.KRABBY]: 3,
[SpeciesId.VOLTORB]: 2,
[SpeciesId.EXEGGCUTE]: 3,
[SpeciesId.CUBONE]: 3,
[SpeciesId.LICKITUNG]: 3,
[SpeciesId.KOFFING]: 2,
[SpeciesId.RHYHORN]: 4,
[SpeciesId.TANGELA]: 3,
[SpeciesId.KANGASKHAN]: 4,
[SpeciesId.HORSEA]: 3,
[SpeciesId.GOLDEEN]: 2,
[SpeciesId.STARYU]: 3,
[SpeciesId.SCYTHER]: 5,
[SpeciesId.PINSIR]: 4,
[SpeciesId.TAUROS]: 4,
[SpeciesId.MAGIKARP]: 4,
[SpeciesId.LAPRAS]: 4,
[SpeciesId.DITTO]: 2,
[SpeciesId.EEVEE]: 3,
[SpeciesId.PORYGON]: 4,
[SpeciesId.OMANYTE]: 3,
[SpeciesId.KABUTO]: 3,
[SpeciesId.AERODACTYL]: 5,
[SpeciesId.ARTICUNO]: 5,
[SpeciesId.ZAPDOS]: 6,
[SpeciesId.MOLTRES]: 6,
[SpeciesId.DRATINI]: 4,
[SpeciesId.MEWTWO]: 8,
[SpeciesId.MEW]: 5,
[SpeciesId.CHIKORITA]: 2,
[SpeciesId.CYNDAQUIL]: 3,
[SpeciesId.TOTODILE]: 3,
[SpeciesId.SENTRET]: 1,
[SpeciesId.HOOTHOOT]: 2,
[SpeciesId.LEDYBA]: 1,
[SpeciesId.SPINARAK]: 1,
[SpeciesId.CHINCHOU]: 2,
[SpeciesId.PICHU]: 4,
[SpeciesId.CLEFFA]: 2,
[SpeciesId.IGGLYBUFF]: 1,
[SpeciesId.TOGEPI]: 3,
[SpeciesId.NATU]: 2,
[SpeciesId.MAREEP]: 2,
[SpeciesId.HOPPIP]: 2,
[SpeciesId.AIPOM]: 2,
[SpeciesId.SUNKERN]: 1,
[SpeciesId.YANMA]: 3,
[SpeciesId.WOOPER]: 2,
[SpeciesId.MURKROW]: 3,
[SpeciesId.MISDREAVUS]: 3,
[SpeciesId.UNOWN]: 1,
[SpeciesId.GIRAFARIG]: 3,
[SpeciesId.PINECO]: 2,
[SpeciesId.DUNSPARCE]: 3,
[SpeciesId.GLIGAR]: 3,
[SpeciesId.SNUBBULL]: 2,
[SpeciesId.QWILFISH]: 3,
[SpeciesId.SHUCKLE]: 3,
[SpeciesId.HERACROSS]: 5,
[SpeciesId.SNEASEL]: 4,
[SpeciesId.TEDDIURSA]: 4,
[SpeciesId.SLUGMA]: 2,
[SpeciesId.SWINUB]: 3,
[SpeciesId.CORSOLA]: 2,
[SpeciesId.REMORAID]: 2,
[SpeciesId.DELIBIRD]: 2,
[SpeciesId.SKARMORY]: 4,
[SpeciesId.HOUNDOUR]: 3,
[SpeciesId.PHANPY]: 3,
[SpeciesId.STANTLER]: 3,
[SpeciesId.SMEARGLE]: 1,
[SpeciesId.TYROGUE]: 3,
[SpeciesId.SMOOCHUM]: 3,
[SpeciesId.ELEKID]: 3,
[SpeciesId.MAGBY]: 3,
[SpeciesId.MILTANK]: 4,
[SpeciesId.RAIKOU]: 6,
[SpeciesId.ENTEI]: 6,
[SpeciesId.SUICUNE]: 6,
[SpeciesId.LARVITAR]: 4,
[SpeciesId.LUGIA]: 8,
[SpeciesId.HO_OH]: 8,
[SpeciesId.CELEBI]: 5,
[SpeciesId.TREECKO]: 3,
[SpeciesId.TORCHIC]: 4,
[SpeciesId.MUDKIP]: 3,
[SpeciesId.POOCHYENA]: 2,
[SpeciesId.ZIGZAGOON]: 2,
[SpeciesId.WURMPLE]: 1,
[SpeciesId.LOTAD]: 3,
[SpeciesId.SEEDOT]: 2,
[SpeciesId.TAILLOW]: 3,
[SpeciesId.WINGULL]: 2,
[SpeciesId.RALTS]: 4,
[SpeciesId.SURSKIT]: 2,
[SpeciesId.SHROOMISH]: 3,
[SpeciesId.SLAKOTH]: 4,
[SpeciesId.NINCADA]: 4,
[SpeciesId.WHISMUR]: 2,
[SpeciesId.MAKUHITA]: 3,
[SpeciesId.AZURILL]: 4,
[SpeciesId.NOSEPASS]: 2,
[SpeciesId.SKITTY]: 1,
[SpeciesId.SABLEYE]: 2,
[SpeciesId.MAWILE]: 2,
[SpeciesId.ARON]: 3,
[SpeciesId.MEDITITE]: 3,
[SpeciesId.ELECTRIKE]: 2,
[SpeciesId.PLUSLE]: 2,
[SpeciesId.MINUN]: 2,
[SpeciesId.VOLBEAT]: 2,
[SpeciesId.ILLUMISE]: 2,
[SpeciesId.GULPIN]: 1,
[SpeciesId.CARVANHA]: 3,
[SpeciesId.WAILMER]: 2,
[SpeciesId.NUMEL]: 2,
[SpeciesId.TORKOAL]: 3,
[SpeciesId.SPOINK]: 2,
[SpeciesId.SPINDA]: 1,
[SpeciesId.TRAPINCH]: 3,
[SpeciesId.CACNEA]: 2,
[SpeciesId.SWABLU]: 2,
[SpeciesId.ZANGOOSE]: 4,
[SpeciesId.SEVIPER]: 3,
[SpeciesId.LUNATONE]: 3,
[SpeciesId.SOLROCK]: 3,
[SpeciesId.BARBOACH]: 2,
[SpeciesId.CORPHISH]: 3,
[SpeciesId.BALTOY]: 2,
[SpeciesId.LILEEP]: 3,
[SpeciesId.ANORITH]: 3,
[SpeciesId.FEEBAS]: 4,
[SpeciesId.CASTFORM]: 1,
[SpeciesId.KECLEON]: 2,
[SpeciesId.SHUPPET]: 2,
[SpeciesId.DUSKULL]: 3,
[SpeciesId.TROPIUS]: 3,
[SpeciesId.ABSOL]: 4,
[SpeciesId.WYNAUT]: 2,
[SpeciesId.SNORUNT]: 2,
[SpeciesId.SPHEAL]: 2,
[SpeciesId.CLAMPERL]: 3,
[SpeciesId.RELICANTH]: 3,
[SpeciesId.LUVDISC]: 1,
[SpeciesId.BAGON]: 4,
[SpeciesId.BELDUM]: 4,
[SpeciesId.REGIROCK]: 6,
[SpeciesId.REGICE]: 5,
[SpeciesId.REGISTEEL]: 6,
[SpeciesId.LATIAS]: 7,
[SpeciesId.LATIOS]: 7,
[SpeciesId.KYOGRE]: 9,
[SpeciesId.GROUDON]: 9,
[SpeciesId.RAYQUAZA]: 9,
[SpeciesId.JIRACHI]: 7,
[SpeciesId.DEOXYS]: 7,
[SpeciesId.TURTWIG]: 3,
[SpeciesId.CHIMCHAR]: 3,
[SpeciesId.PIPLUP]: 3,
[SpeciesId.STARLY]: 3,
[SpeciesId.BIDOOF]: 2,
[SpeciesId.KRICKETOT]: 1,
[SpeciesId.SHINX]: 2,
[SpeciesId.BUDEW]: 3,
[SpeciesId.CRANIDOS]: 2,
[SpeciesId.SHIELDON]: 3,
[SpeciesId.BURMY]: 2,
[SpeciesId.COMBEE]: 2,
[SpeciesId.PACHIRISU]: 2,
[SpeciesId.BUIZEL]: 2,
[SpeciesId.CHERUBI]: 1,
[SpeciesId.SHELLOS]: 3,
[SpeciesId.DRIFLOON]: 2,
[SpeciesId.BUNEARY]: 2,
[SpeciesId.GLAMEOW]: 2,
[SpeciesId.CHINGLING]: 2,
[SpeciesId.STUNKY]: 2,
[SpeciesId.BRONZOR]: 3,
[SpeciesId.BONSLY]: 2,
[SpeciesId.MIME_JR]: 2,
[SpeciesId.HAPPINY]: 2,
[SpeciesId.CHATOT]: 2,
[SpeciesId.SPIRITOMB]: 4,
[SpeciesId.GIBLE]: 4,
[SpeciesId.MUNCHLAX]: 4,
[SpeciesId.RIOLU]: 3,
[SpeciesId.HIPPOPOTAS]: 3,
[SpeciesId.SKORUPI]: 3,
[SpeciesId.CROAGUNK]: 2,
[SpeciesId.CARNIVINE]: 2,
[SpeciesId.FINNEON]: 1,
[SpeciesId.MANTYKE]: 2,
[SpeciesId.SNOVER]: 2,
[SpeciesId.ROTOM]: 4,
[SpeciesId.UXIE]: 5,
[SpeciesId.MESPRIT]: 5,
[SpeciesId.AZELF]: 6,
[SpeciesId.DIALGA]: 8,
[SpeciesId.PALKIA]: 8,
[SpeciesId.HEATRAN]: 7,
[SpeciesId.REGIGIGAS]: 7,
[SpeciesId.GIRATINA]: 8,
[SpeciesId.CRESSELIA]: 6,
[SpeciesId.PHIONE]: 4,
[SpeciesId.MANAPHY]: 7,
[SpeciesId.DARKRAI]: 7,
[SpeciesId.SHAYMIN]: 6,
[SpeciesId.ARCEUS]: 9,
[SpeciesId.VICTINI]: 6,
[SpeciesId.SNIVY]: 3,
[SpeciesId.TEPIG]: 3,
[SpeciesId.OSHAWOTT]: 3,
[SpeciesId.PATRAT]: 1,
[SpeciesId.LILLIPUP]: 3,
[SpeciesId.PURRLOIN]: 2,
[SpeciesId.PANSAGE]: 2,
[SpeciesId.PANSEAR]: 2,
[SpeciesId.PANPOUR]: 2,
[SpeciesId.MUNNA]: 2,
[SpeciesId.PIDOVE]: 1,
[SpeciesId.BLITZLE]: 2,
[SpeciesId.ROGGENROLA]: 3,
[SpeciesId.WOOBAT]: 3,
[SpeciesId.DRILBUR]: 4,
[SpeciesId.AUDINO]: 3,
[SpeciesId.TIMBURR]: 4,
[SpeciesId.TYMPOLE]: 3,
[SpeciesId.THROH]: 4,
[SpeciesId.SAWK]: 4,
[SpeciesId.SEWADDLE]: 2,
[SpeciesId.VENIPEDE]: 3,
[SpeciesId.COTTONEE]: 3,
[SpeciesId.PETILIL]: 3,
[SpeciesId.BASCULIN]: 4,
[SpeciesId.SANDILE]: 4,
[SpeciesId.DARUMAKA]: 4,
[SpeciesId.MARACTUS]: 2,
[SpeciesId.DWEBBLE]: 2,
[SpeciesId.SCRAGGY]: 3,
[SpeciesId.SIGILYPH]: 4,
[SpeciesId.YAMASK]: 3,
[SpeciesId.TIRTOUGA]: 3,
[SpeciesId.ARCHEN]: 3,
[SpeciesId.TRUBBISH]: 2,
[SpeciesId.ZORUA]: 3,
[SpeciesId.MINCCINO]: 3,
[SpeciesId.GOTHITA]: 3,
[SpeciesId.SOLOSIS]: 3,
[SpeciesId.DUCKLETT]: 2,
[SpeciesId.VANILLITE]: 3,
[SpeciesId.DEERLING]: 2,
[SpeciesId.EMOLGA]: 2,
[SpeciesId.KARRABLAST]: 3,
[SpeciesId.FOONGUS]: 3,
[SpeciesId.FRILLISH]: 3,
[SpeciesId.ALOMOMOLA]: 4,
[SpeciesId.JOLTIK]: 3,
[SpeciesId.FERROSEED]: 3,
[SpeciesId.KLINK]: 3,
[SpeciesId.TYNAMO]: 2,
[SpeciesId.ELGYEM]: 2,
[SpeciesId.LITWICK]: 3,
[SpeciesId.AXEW]: 4,
[SpeciesId.CUBCHOO]: 2,
[SpeciesId.CRYOGONAL]: 4,
[SpeciesId.SHELMET]: 2,
[SpeciesId.STUNFISK]: 3,
[SpeciesId.MIENFOO]: 3,
[SpeciesId.DRUDDIGON]: 4,
[SpeciesId.GOLETT]: 3,
[SpeciesId.PAWNIARD]: 4,
[SpeciesId.BOUFFALANT]: 4,
[SpeciesId.RUFFLET]: 3,
[SpeciesId.VULLABY]: 3,
[SpeciesId.HEATMOR]: 3,
[SpeciesId.DURANT]: 4,
[SpeciesId.DEINO]: 4,
[SpeciesId.LARVESTA]: 4,
[SpeciesId.COBALION]: 6,
[SpeciesId.TERRAKION]: 6,
[SpeciesId.VIRIZION]: 6,
[SpeciesId.TORNADUS]: 7,
[SpeciesId.THUNDURUS]: 7,
[SpeciesId.RESHIRAM]: 8,
[SpeciesId.ZEKROM]: 8,
[SpeciesId.LANDORUS]: 7,
[SpeciesId.KYUREM]: 8,
[SpeciesId.KELDEO]: 6,
[SpeciesId.MELOETTA]: 7,
[SpeciesId.GENESECT]: 6,
[SpeciesId.CHESPIN]: 3,
[SpeciesId.FENNEKIN]: 3,
[SpeciesId.FROAKIE]: 4,
[SpeciesId.BUNNELBY]: 3,
[SpeciesId.FLETCHLING]: 3,
[SpeciesId.SCATTERBUG]: 2,
[SpeciesId.LITLEO]: 2,
[SpeciesId.FLABEBE]: 3,
[SpeciesId.SKIDDO]: 2,
[SpeciesId.PANCHAM]: 3,
[SpeciesId.FURFROU]: 3,
[SpeciesId.ESPURR]: 2,
[SpeciesId.HONEDGE]: 4,
[SpeciesId.SPRITZEE]: 2,
[SpeciesId.SWIRLIX]: 3,
[SpeciesId.INKAY]: 3,
[SpeciesId.BINACLE]: 3,
[SpeciesId.SKRELP]: 2,
[SpeciesId.CLAUNCHER]: 3,
[SpeciesId.HELIOPTILE]: 3,
[SpeciesId.TYRUNT]: 3,
[SpeciesId.AMAURA]: 2,
[SpeciesId.HAWLUCHA]: 4,
[SpeciesId.DEDENNE]: 2,
[SpeciesId.CARBINK]: 2,
[SpeciesId.GOOMY]: 4,
[SpeciesId.KLEFKI]: 3,
[SpeciesId.PHANTUMP]: 2,
[SpeciesId.PUMPKABOO]: 2,
[SpeciesId.BERGMITE]: 3,
[SpeciesId.NOIBAT]: 3,
[SpeciesId.XERNEAS]: 8,
[SpeciesId.YVELTAL]: 8,
[SpeciesId.ZYGARDE]: 8,
[SpeciesId.DIANCIE]: 7,
[SpeciesId.HOOPA]: 7,
[SpeciesId.VOLCANION]: 7,
[SpeciesId.ETERNAL_FLOETTE]: 4,
[SpeciesId.ROWLET]: 3,
[SpeciesId.LITTEN]: 3,
[SpeciesId.POPPLIO]: 4,
[SpeciesId.PIKIPEK]: 2,
[SpeciesId.YUNGOOS]: 2,
[SpeciesId.GRUBBIN]: 3,
[SpeciesId.CRABRAWLER]: 3,
[SpeciesId.ORICORIO]: 3,
[SpeciesId.CUTIEFLY]: 3,
[SpeciesId.ROCKRUFF]: 3,
[SpeciesId.WISHIWASHI]: 2,
[SpeciesId.MAREANIE]: 2,
[SpeciesId.MUDBRAY]: 3,
[SpeciesId.DEWPIDER]: 3,
[SpeciesId.FOMANTIS]: 2,
[SpeciesId.MORELULL]: 2,
[SpeciesId.SALANDIT]: 3,
[SpeciesId.STUFFUL]: 3,
[SpeciesId.BOUNSWEET]: 3,
[SpeciesId.COMFEY]: 4,
[SpeciesId.ORANGURU]: 4,
[SpeciesId.PASSIMIAN]: 4,
[SpeciesId.WIMPOD]: 3,
[SpeciesId.SANDYGAST]: 3,
[SpeciesId.PYUKUMUKU]: 2,
[SpeciesId.TYPE_NULL]: 5,
[SpeciesId.MINIOR]: 4,
[SpeciesId.KOMALA]: 3,
[SpeciesId.TURTONATOR]: 4,
[SpeciesId.TOGEDEMARU]: 3,
[SpeciesId.MIMIKYU]: 4,
[SpeciesId.BRUXISH]: 4,
[SpeciesId.DRAMPA]: 4,
[SpeciesId.DHELMISE]: 4,
[SpeciesId.JANGMO_O]: 4,
[SpeciesId.TAPU_KOKO]: 6,
[SpeciesId.TAPU_LELE]: 7,
[SpeciesId.TAPU_BULU]: 6,
[SpeciesId.TAPU_FINI]: 5,
[SpeciesId.COSMOG]: 7,
[SpeciesId.NIHILEGO]: 6,
[SpeciesId.BUZZWOLE]: 6,
[SpeciesId.PHEROMOSA]: 7,
[SpeciesId.XURKITREE]: 6,
[SpeciesId.CELESTEELA]: 6,
[SpeciesId.KARTANA]: 8,
[SpeciesId.GUZZLORD]: 6,
[SpeciesId.NECROZMA]: 8,
[SpeciesId.MAGEARNA]: 7,
[SpeciesId.MARSHADOW]: 8,
[SpeciesId.POIPOLE]: 8,
[SpeciesId.STAKATAKA]: 6,
[SpeciesId.BLACEPHALON]: 7,
[SpeciesId.ZERAORA]: 6,
[SpeciesId.MELTAN]: 6,
[SpeciesId.ALOLA_RATTATA]: 1,
[SpeciesId.ALOLA_SANDSHREW]: 2,
[SpeciesId.ALOLA_VULPIX]: 3,
[SpeciesId.ALOLA_DIGLETT]: 2,
[SpeciesId.ALOLA_MEOWTH]: 3,
[SpeciesId.ALOLA_GEODUDE]: 3,
[SpeciesId.ALOLA_GRIMER]: 3,
[SpeciesId.GROOKEY]: 3,
[SpeciesId.SCORBUNNY]: 4,
[SpeciesId.SOBBLE]: 3,
[SpeciesId.SKWOVET]: 2,
[SpeciesId.ROOKIDEE]: 3,
[SpeciesId.BLIPBUG]: 2,
[SpeciesId.NICKIT]: 1,
[SpeciesId.GOSSIFLEUR]: 2,
[SpeciesId.WOOLOO]: 2,
[SpeciesId.CHEWTLE]: 3,
[SpeciesId.YAMPER]: 2,
[SpeciesId.ROLYCOLY]: 3,
[SpeciesId.APPLIN]: 3,
[SpeciesId.SILICOBRA]: 3,
[SpeciesId.CRAMORANT]: 3,
[SpeciesId.ARROKUDA]: 3,
[SpeciesId.TOXEL]: 3,
[SpeciesId.SIZZLIPEDE]: 3,
[SpeciesId.CLOBBOPUS]: 2,
[SpeciesId.SINISTEA]: 3,
[SpeciesId.HATENNA]: 3,
[SpeciesId.IMPIDIMP]: 3,
[SpeciesId.MILCERY]: 3,
[SpeciesId.FALINKS]: 4,
[SpeciesId.PINCURCHIN]: 3,
[SpeciesId.SNOM]: 3,
[SpeciesId.STONJOURNER]: 3,
[SpeciesId.EISCUE]: 3,
[SpeciesId.INDEEDEE]: 4,
[SpeciesId.MORPEKO]: 3,
[SpeciesId.CUFANT]: 3,
[SpeciesId.DRACOZOLT]: 5,
[SpeciesId.ARCTOZOLT]: 4,
[SpeciesId.DRACOVISH]: 5,
[SpeciesId.ARCTOVISH]: 4,
[SpeciesId.DURALUDON]: 5,
[SpeciesId.DREEPY]: 4,
[SpeciesId.ZACIAN]: 9,
[SpeciesId.ZAMAZENTA]: 8,
[SpeciesId.ETERNATUS]: 10,
[SpeciesId.KUBFU]: 6,
[SpeciesId.ZARUDE]: 5,
[SpeciesId.REGIELEKI]: 6,
[SpeciesId.REGIDRAGO]: 6,
[SpeciesId.GLASTRIER]: 6,
[SpeciesId.SPECTRIER]: 8,
[SpeciesId.CALYREX]: 8,
[SpeciesId.ENAMORUS]: 7,
[SpeciesId.GALAR_MEOWTH]: 3,
[SpeciesId.GALAR_PONYTA]: 2,
[SpeciesId.GALAR_SLOWPOKE]: 3,
[SpeciesId.GALAR_FARFETCHD]: 3,
[SpeciesId.GALAR_ARTICUNO]: 6,
[SpeciesId.GALAR_ZAPDOS]: 6,
[SpeciesId.GALAR_MOLTRES]: 6,
[SpeciesId.GALAR_CORSOLA]: 3,
[SpeciesId.GALAR_ZIGZAGOON]: 3,
[SpeciesId.GALAR_DARUMAKA]: 4,
[SpeciesId.GALAR_YAMASK]: 3,
[SpeciesId.GALAR_STUNFISK]: 2,
[SpeciesId.HISUI_GROWLITHE]: 4,
[SpeciesId.HISUI_VOLTORB]: 3,
[SpeciesId.HISUI_QWILFISH]: 4,
[SpeciesId.HISUI_SNEASEL]: 5,
[SpeciesId.HISUI_ZORUA]: 3,
[SpeciesId.SPRIGATITO]: 4,
[SpeciesId.FUECOCO]: 4,
[SpeciesId.QUAXLY]: 4,
[SpeciesId.LECHONK]: 2,
[SpeciesId.TAROUNTULA]: 1,
[SpeciesId.NYMBLE]: 3,
[SpeciesId.PAWMI]: 3,
[SpeciesId.TANDEMAUS]: 4,
[SpeciesId.FIDOUGH]: 2,
[SpeciesId.SMOLIV]: 3,
[SpeciesId.SQUAWKABILLY]: 2,
[SpeciesId.NACLI]: 4,
[SpeciesId.CHARCADET]: 4,
[SpeciesId.TADBULB]: 3,
[SpeciesId.WATTREL]: 3,
[SpeciesId.MASCHIFF]: 3,
[SpeciesId.SHROODLE]: 2,
[SpeciesId.BRAMBLIN]: 3,
[SpeciesId.TOEDSCOOL]: 3,
[SpeciesId.KLAWF]: 3,
[SpeciesId.CAPSAKID]: 3,
[SpeciesId.RELLOR]: 2,
[SpeciesId.FLITTLE]: 3,
[SpeciesId.TINKATINK]: 4,
[SpeciesId.WIGLETT]: 2,
[SpeciesId.BOMBIRDIER]: 3,
[SpeciesId.FINIZEN]: 3,
[SpeciesId.VAROOM]: 4,
[SpeciesId.CYCLIZAR]: 4,
[SpeciesId.ORTHWORM]: 4,
[SpeciesId.GLIMMET]: 4,
[SpeciesId.GREAVARD]: 3,
[SpeciesId.FLAMIGO]: 4,
[SpeciesId.CETODDLE]: 3,
[SpeciesId.VELUZA]: 4,
[SpeciesId.DONDOZO]: 4,
[SpeciesId.TATSUGIRI]: 4,
[SpeciesId.GREAT_TUSK]: 7,
[SpeciesId.SCREAM_TAIL]: 5,
[SpeciesId.BRUTE_BONNET]: 5,
[SpeciesId.FLUTTER_MANE]: 7,
[SpeciesId.SLITHER_WING]: 6,
[SpeciesId.SANDY_SHOCKS]: 6,
[SpeciesId.IRON_TREADS]: 6,
[SpeciesId.IRON_BUNDLE]: 6,
[SpeciesId.IRON_HANDS]: 6,
[SpeciesId.IRON_JUGULIS]: 6,
[SpeciesId.IRON_MOTH]: 6,
[SpeciesId.IRON_THORNS]: 5,
[SpeciesId.FRIGIBAX]: 4,
[SpeciesId.GIMMIGHOUL]: 4,
[SpeciesId.WO_CHIEN]: 5,
[SpeciesId.CHIEN_PAO]: 7,
[SpeciesId.TING_LU]: 6,
[SpeciesId.CHI_YU]: 7,
[SpeciesId.ROARING_MOON]: 7,
[SpeciesId.IRON_VALIANT]: 6,
[SpeciesId.KORAIDON]: 9,
[SpeciesId.MIRAIDON]: 9,
[SpeciesId.WALKING_WAKE]: 7,
[SpeciesId.IRON_LEAVES]: 6,
[SpeciesId.POLTCHAGEIST]: 4,
[SpeciesId.OKIDOGI]: 6,
[SpeciesId.MUNKIDORI]: 6,
[SpeciesId.FEZANDIPITI]: 5,
[SpeciesId.OGERPON]: 7,
[SpeciesId.GOUGING_FIRE]: 7,
[SpeciesId.RAGING_BOLT]: 7,
[SpeciesId.IRON_BOULDER]: 7,
[SpeciesId.IRON_CROWN]: 7,
[SpeciesId.TERAPAGOS]: 9,
[SpeciesId.PECHARUNT]: 6,
[SpeciesId.PALDEA_TAUROS]: 5,
[SpeciesId.PALDEA_WOOPER]: 3,
[SpeciesId.BLOODMOON_URSALUNA]: 5,
};
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
{ passive: 35, costReduction: [ 20, 50 ], egg: 25 }, // 3 Cost
{ passive: 30, costReduction: [ 15, 40 ], egg: 20 }, // 4 Cost
{ passive: 25, costReduction: [ 12, 35 ], egg: 18 }, // 5 Cost
{ passive: 20, costReduction: [ 10, 30 ], egg: 15 }, // 6 Cost
{ passive: 15, costReduction: [ 8, 20 ], egg: 12 }, // 7 Cost
{ passive: 10, costReduction: [ 5, 15 ], egg: 10 }, // 8 Cost
{ passive: 10, costReduction: [ 5, 15 ], egg: 10 }, // 9 Cost
{ 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;
}