diff --git a/src/data/balance/species-egg-tiers.ts b/src/data/balance/species-egg-tiers.ts new file mode 100644 index 00000000000..c1ec10c48c7 --- /dev/null +++ b/src/data/balance/species-egg-tiers.ts @@ -0,0 +1,600 @@ +import { Species } from "#enums/species"; +import { EggTier } from "#enums/egg-type"; + +export const speciesEggTiers = { + [Species.BULBASAUR]: EggTier.COMMON, + [Species.CHARMANDER]: EggTier.COMMON, + [Species.SQUIRTLE]: EggTier.COMMON, + [Species.CATERPIE]: EggTier.COMMON, + [Species.WEEDLE]: EggTier.COMMON, + [Species.PIDGEY]: EggTier.COMMON, + [Species.RATTATA]: EggTier.COMMON, + [Species.SPEAROW]: EggTier.COMMON, + [Species.EKANS]: EggTier.COMMON, + [Species.PIKACHU]: EggTier.COMMON, + [Species.SANDSHREW]: EggTier.COMMON, + [Species.NIDORAN_F]: EggTier.COMMON, + [Species.NIDORAN_M]: EggTier.COMMON, + [Species.CLEFAIRY]: EggTier.COMMON, + [Species.VULPIX]: EggTier.COMMON, + [Species.JIGGLYPUFF]: EggTier.COMMON, + [Species.ZUBAT]: EggTier.COMMON, + [Species.ODDISH]: EggTier.COMMON, + [Species.PARAS]: EggTier.COMMON, + [Species.VENONAT]: EggTier.COMMON, + [Species.DIGLETT]: EggTier.COMMON, + [Species.MEOWTH]: EggTier.COMMON, + [Species.PSYDUCK]: EggTier.COMMON, + [Species.MANKEY]: EggTier.GREAT, + [Species.GROWLITHE]: EggTier.GREAT, + [Species.POLIWAG]: EggTier.COMMON, + [Species.ABRA]: EggTier.GREAT, + [Species.MACHOP]: EggTier.COMMON, + [Species.BELLSPROUT]: EggTier.COMMON, + [Species.TENTACOOL]: EggTier.COMMON, + [Species.GEODUDE]: EggTier.COMMON, + [Species.PONYTA]: EggTier.COMMON, + [Species.SLOWPOKE]: EggTier.COMMON, + [Species.MAGNEMITE]: EggTier.GREAT, + [Species.FARFETCHD]: EggTier.COMMON, + [Species.DODUO]: EggTier.COMMON, + [Species.SEEL]: EggTier.COMMON, + [Species.GRIMER]: EggTier.COMMON, + [Species.SHELLDER]: EggTier.GREAT, + [Species.GASTLY]: EggTier.GREAT, + [Species.ONIX]: EggTier.COMMON, + [Species.DROWZEE]: EggTier.COMMON, + [Species.KRABBY]: EggTier.COMMON, + [Species.VOLTORB]: EggTier.COMMON, + [Species.EXEGGCUTE]: EggTier.COMMON, + [Species.CUBONE]: EggTier.COMMON, + [Species.HITMONLEE]: EggTier.GREAT, + [Species.HITMONCHAN]: EggTier.GREAT, + [Species.LICKITUNG]: EggTier.COMMON, + [Species.KOFFING]: EggTier.COMMON, + [Species.RHYHORN]: EggTier.COMMON, + [Species.CHANSEY]: EggTier.COMMON, + [Species.TANGELA]: EggTier.COMMON, + [Species.KANGASKHAN]: EggTier.GREAT, + [Species.HORSEA]: EggTier.COMMON, + [Species.GOLDEEN]: EggTier.COMMON, + [Species.STARYU]: EggTier.COMMON, + [Species.MR_MIME]: EggTier.COMMON, + [Species.SCYTHER]: EggTier.GREAT, + [Species.JYNX]: EggTier.GREAT, + [Species.ELECTABUZZ]: EggTier.GREAT, + [Species.MAGMAR]: EggTier.GREAT, + [Species.PINSIR]: EggTier.GREAT, + [Species.TAUROS]: EggTier.GREAT, + [Species.MAGIKARP]: EggTier.GREAT, + [Species.LAPRAS]: EggTier.GREAT, + [Species.DITTO]: EggTier.COMMON, + [Species.EEVEE]: EggTier.COMMON, + [Species.PORYGON]: EggTier.GREAT, + [Species.OMANYTE]: EggTier.COMMON, + [Species.KABUTO]: EggTier.COMMON, + [Species.AERODACTYL]: EggTier.GREAT, + [Species.SNORLAX]: EggTier.GREAT, + [Species.ARTICUNO]: EggTier.ULTRA, + [Species.ZAPDOS]: EggTier.ULTRA, + [Species.MOLTRES]: EggTier.ULTRA, + [Species.DRATINI]: EggTier.GREAT, + [Species.MEWTWO]: EggTier.MASTER, + [Species.MEW]: EggTier.ULTRA, + + [Species.CHIKORITA]: EggTier.COMMON, + [Species.CYNDAQUIL]: EggTier.COMMON, + [Species.TOTODILE]: EggTier.COMMON, + [Species.SENTRET]: EggTier.COMMON, + [Species.HOOTHOOT]: EggTier.COMMON, + [Species.LEDYBA]: EggTier.COMMON, + [Species.SPINARAK]: EggTier.COMMON, + [Species.CHINCHOU]: EggTier.COMMON, + [Species.PICHU]: EggTier.COMMON, + [Species.CLEFFA]: EggTier.COMMON, + [Species.IGGLYBUFF]: EggTier.COMMON, + [Species.TOGEPI]: EggTier.COMMON, + [Species.NATU]: EggTier.COMMON, + [Species.MAREEP]: EggTier.COMMON, + [Species.MARILL]: EggTier.GREAT, + [Species.SUDOWOODO]: EggTier.COMMON, + [Species.HOPPIP]: EggTier.COMMON, + [Species.AIPOM]: EggTier.COMMON, + [Species.SUNKERN]: EggTier.COMMON, + [Species.YANMA]: EggTier.COMMON, + [Species.WOOPER]: EggTier.COMMON, + [Species.MURKROW]: EggTier.COMMON, + [Species.MISDREAVUS]: EggTier.COMMON, + [Species.UNOWN]: EggTier.COMMON, + [Species.WOBBUFFET]: EggTier.COMMON, + [Species.GIRAFARIG]: EggTier.COMMON, + [Species.PINECO]: EggTier.COMMON, + [Species.DUNSPARCE]: EggTier.COMMON, + [Species.GLIGAR]: EggTier.COMMON, + [Species.SNUBBULL]: EggTier.COMMON, + [Species.QWILFISH]: EggTier.COMMON, + [Species.SHUCKLE]: EggTier.COMMON, + [Species.HERACROSS]: EggTier.GREAT, + [Species.SNEASEL]: EggTier.GREAT, + [Species.TEDDIURSA]: EggTier.GREAT, + [Species.SLUGMA]: EggTier.COMMON, + [Species.SWINUB]: EggTier.COMMON, + [Species.CORSOLA]: EggTier.COMMON, + [Species.REMORAID]: EggTier.COMMON, + [Species.DELIBIRD]: EggTier.COMMON, + [Species.MANTINE]: EggTier.COMMON, + [Species.SKARMORY]: EggTier.GREAT, + [Species.HOUNDOUR]: EggTier.COMMON, + [Species.PHANPY]: EggTier.COMMON, + [Species.STANTLER]: EggTier.COMMON, + [Species.SMEARGLE]: EggTier.COMMON, + [Species.TYROGUE]: EggTier.COMMON, + [Species.SMOOCHUM]: EggTier.COMMON, + [Species.ELEKID]: EggTier.COMMON, + [Species.MAGBY]: EggTier.COMMON, + [Species.MILTANK]: EggTier.GREAT, + [Species.RAIKOU]: EggTier.ULTRA, + [Species.ENTEI]: EggTier.ULTRA, + [Species.SUICUNE]: EggTier.ULTRA, + [Species.LARVITAR]: EggTier.GREAT, + [Species.LUGIA]: EggTier.MASTER, + [Species.HO_OH]: EggTier.MASTER, + [Species.CELEBI]: EggTier.ULTRA, + + [Species.TREECKO]: EggTier.COMMON, + [Species.TORCHIC]: EggTier.GREAT, + [Species.MUDKIP]: EggTier.COMMON, + [Species.POOCHYENA]: EggTier.COMMON, + [Species.ZIGZAGOON]: EggTier.COMMON, + [Species.WURMPLE]: EggTier.COMMON, + [Species.LOTAD]: EggTier.COMMON, + [Species.SEEDOT]: EggTier.COMMON, + [Species.TAILLOW]: EggTier.COMMON, + [Species.WINGULL]: EggTier.COMMON, + [Species.RALTS]: EggTier.COMMON, + [Species.SURSKIT]: EggTier.COMMON, + [Species.SHROOMISH]: EggTier.COMMON, + [Species.SLAKOTH]: EggTier.GREAT, + [Species.NINCADA]: EggTier.GREAT, + [Species.WHISMUR]: EggTier.COMMON, + [Species.MAKUHITA]: EggTier.COMMON, + [Species.AZURILL]: EggTier.GREAT, + [Species.NOSEPASS]: EggTier.COMMON, + [Species.SKITTY]: EggTier.COMMON, + [Species.SABLEYE]: EggTier.COMMON, + [Species.MAWILE]: EggTier.COMMON, + [Species.ARON]: EggTier.COMMON, + [Species.MEDITITE]: EggTier.COMMON, + [Species.ELECTRIKE]: EggTier.COMMON, + [Species.PLUSLE]: EggTier.COMMON, + [Species.MINUN]: EggTier.COMMON, + [Species.VOLBEAT]: EggTier.COMMON, + [Species.ILLUMISE]: EggTier.COMMON, + [Species.ROSELIA]: EggTier.COMMON, + [Species.GULPIN]: EggTier.COMMON, + [Species.CARVANHA]: EggTier.COMMON, + [Species.WAILMER]: EggTier.COMMON, + [Species.NUMEL]: EggTier.COMMON, + [Species.TORKOAL]: EggTier.COMMON, + [Species.SPOINK]: EggTier.COMMON, + [Species.SPINDA]: EggTier.COMMON, + [Species.TRAPINCH]: EggTier.COMMON, + [Species.CACNEA]: EggTier.COMMON, + [Species.SWABLU]: EggTier.COMMON, + [Species.ZANGOOSE]: EggTier.GREAT, + [Species.SEVIPER]: EggTier.COMMON, + [Species.LUNATONE]: EggTier.COMMON, + [Species.SOLROCK]: EggTier.COMMON, + [Species.BARBOACH]: EggTier.COMMON, + [Species.CORPHISH]: EggTier.COMMON, + [Species.BALTOY]: EggTier.COMMON, + [Species.LILEEP]: EggTier.COMMON, + [Species.ANORITH]: EggTier.COMMON, + [Species.FEEBAS]: EggTier.GREAT, + [Species.CASTFORM]: EggTier.COMMON, + [Species.KECLEON]: EggTier.COMMON, + [Species.SHUPPET]: EggTier.COMMON, + [Species.DUSKULL]: EggTier.COMMON, + [Species.TROPIUS]: EggTier.COMMON, + [Species.CHIMECHO]: EggTier.COMMON, + [Species.ABSOL]: EggTier.GREAT, + [Species.WYNAUT]: EggTier.COMMON, + [Species.SNORUNT]: EggTier.COMMON, + [Species.SPHEAL]: EggTier.COMMON, + [Species.CLAMPERL]: EggTier.COMMON, + [Species.RELICANTH]: EggTier.COMMON, + [Species.LUVDISC]: EggTier.COMMON, + [Species.BAGON]: EggTier.GREAT, + [Species.BELDUM]: EggTier.GREAT, + [Species.REGIROCK]: EggTier.ULTRA, + [Species.REGICE]: EggTier.ULTRA, + [Species.REGISTEEL]: EggTier.ULTRA, + [Species.LATIAS]: EggTier.ULTRA, + [Species.LATIOS]: EggTier.ULTRA, + [Species.KYOGRE]: EggTier.MASTER, + [Species.GROUDON]: EggTier.MASTER, + [Species.RAYQUAZA]: EggTier.MASTER, + [Species.JIRACHI]: EggTier.ULTRA, + [Species.DEOXYS]: EggTier.ULTRA, + + [Species.TURTWIG]: EggTier.COMMON, + [Species.CHIMCHAR]: EggTier.COMMON, + [Species.PIPLUP]: EggTier.COMMON, + [Species.STARLY]: EggTier.COMMON, + [Species.BIDOOF]: EggTier.COMMON, + [Species.KRICKETOT]: EggTier.COMMON, + [Species.SHINX]: EggTier.COMMON, + [Species.BUDEW]: EggTier.COMMON, + [Species.CRANIDOS]: EggTier.COMMON, + [Species.SHIELDON]: EggTier.COMMON, + [Species.BURMY]: EggTier.COMMON, + [Species.COMBEE]: EggTier.COMMON, + [Species.PACHIRISU]: EggTier.COMMON, + [Species.BUIZEL]: EggTier.COMMON, + [Species.CHERUBI]: EggTier.COMMON, + [Species.SHELLOS]: EggTier.COMMON, + [Species.DRIFLOON]: EggTier.COMMON, + [Species.BUNEARY]: EggTier.COMMON, + [Species.GLAMEOW]: EggTier.COMMON, + [Species.CHINGLING]: EggTier.COMMON, + [Species.STUNKY]: EggTier.COMMON, + [Species.BRONZOR]: EggTier.COMMON, + [Species.BONSLY]: EggTier.COMMON, + [Species.MIME_JR]: EggTier.COMMON, + [Species.HAPPINY]: EggTier.COMMON, + [Species.CHATOT]: EggTier.COMMON, + [Species.SPIRITOMB]: EggTier.GREAT, + [Species.GIBLE]: EggTier.GREAT, + [Species.MUNCHLAX]: EggTier.GREAT, + [Species.RIOLU]: EggTier.COMMON, + [Species.HIPPOPOTAS]: EggTier.COMMON, + [Species.SKORUPI]: EggTier.COMMON, + [Species.CROAGUNK]: EggTier.COMMON, + [Species.CARNIVINE]: EggTier.COMMON, + [Species.FINNEON]: EggTier.COMMON, + [Species.MANTYKE]: EggTier.COMMON, + [Species.SNOVER]: EggTier.COMMON, + [Species.ROTOM]: EggTier.GREAT, + [Species.UXIE]: EggTier.ULTRA, + [Species.MESPRIT]: EggTier.ULTRA, + [Species.AZELF]: EggTier.ULTRA, + [Species.DIALGA]: EggTier.MASTER, + [Species.PALKIA]: EggTier.MASTER, + [Species.HEATRAN]: EggTier.ULTRA, + [Species.REGIGIGAS]: EggTier.ULTRA, + [Species.GIRATINA]: EggTier.MASTER, + [Species.CRESSELIA]: EggTier.ULTRA, + [Species.PHIONE]: EggTier.GREAT, + [Species.MANAPHY]: EggTier.ULTRA, + [Species.DARKRAI]: EggTier.ULTRA, + [Species.SHAYMIN]: EggTier.ULTRA, + [Species.ARCEUS]: EggTier.MASTER, + + [Species.VICTINI]: EggTier.ULTRA, + [Species.SNIVY]: EggTier.COMMON, + [Species.TEPIG]: EggTier.COMMON, + [Species.OSHAWOTT]: EggTier.COMMON, + [Species.PATRAT]: EggTier.COMMON, + [Species.LILLIPUP]: EggTier.COMMON, + [Species.PURRLOIN]: EggTier.COMMON, + [Species.PANSAGE]: EggTier.COMMON, + [Species.PANSEAR]: EggTier.COMMON, + [Species.PANPOUR]: EggTier.COMMON, + [Species.MUNNA]: EggTier.COMMON, + [Species.PIDOVE]: EggTier.COMMON, + [Species.BLITZLE]: EggTier.COMMON, + [Species.ROGGENROLA]: EggTier.COMMON, + [Species.WOOBAT]: EggTier.COMMON, + [Species.DRILBUR]: EggTier.GREAT, + [Species.AUDINO]: EggTier.COMMON, + [Species.TIMBURR]: EggTier.GREAT, + [Species.TYMPOLE]: EggTier.COMMON, + [Species.THROH]: EggTier.GREAT, + [Species.SAWK]: EggTier.GREAT, + [Species.SEWADDLE]: EggTier.COMMON, + [Species.VENIPEDE]: EggTier.COMMON, + [Species.COTTONEE]: EggTier.COMMON, + [Species.PETILIL]: EggTier.COMMON, + [Species.BASCULIN]: EggTier.GREAT, + [Species.SANDILE]: EggTier.GREAT, + [Species.DARUMAKA]: EggTier.GREAT, + [Species.MARACTUS]: EggTier.COMMON, + [Species.DWEBBLE]: EggTier.COMMON, + [Species.SCRAGGY]: EggTier.COMMON, + [Species.SIGILYPH]: EggTier.GREAT, + [Species.YAMASK]: EggTier.COMMON, + [Species.TIRTOUGA]: EggTier.COMMON, + [Species.ARCHEN]: EggTier.COMMON, + [Species.TRUBBISH]: EggTier.COMMON, + [Species.ZORUA]: EggTier.COMMON, + [Species.MINCCINO]: EggTier.COMMON, + [Species.GOTHITA]: EggTier.COMMON, + [Species.SOLOSIS]: EggTier.COMMON, + [Species.DUCKLETT]: EggTier.COMMON, + [Species.VANILLITE]: EggTier.COMMON, + [Species.DEERLING]: EggTier.COMMON, + [Species.EMOLGA]: EggTier.COMMON, + [Species.KARRABLAST]: EggTier.COMMON, + [Species.FOONGUS]: EggTier.COMMON, + [Species.FRILLISH]: EggTier.COMMON, + [Species.ALOMOMOLA]: EggTier.GREAT, + [Species.JOLTIK]: EggTier.COMMON, + [Species.FERROSEED]: EggTier.COMMON, + [Species.KLINK]: EggTier.COMMON, + [Species.TYNAMO]: EggTier.COMMON, + [Species.ELGYEM]: EggTier.COMMON, + [Species.LITWICK]: EggTier.COMMON, + [Species.AXEW]: EggTier.GREAT, + [Species.CUBCHOO]: EggTier.COMMON, + [Species.CRYOGONAL]: EggTier.GREAT, + [Species.SHELMET]: EggTier.COMMON, + [Species.STUNFISK]: EggTier.COMMON, + [Species.MIENFOO]: EggTier.COMMON, + [Species.DRUDDIGON]: EggTier.GREAT, + [Species.GOLETT]: EggTier.COMMON, + [Species.PAWNIARD]: EggTier.GREAT, + [Species.BOUFFALANT]: EggTier.GREAT, + [Species.RUFFLET]: EggTier.COMMON, + [Species.VULLABY]: EggTier.COMMON, + [Species.HEATMOR]: EggTier.COMMON, + [Species.DURANT]: EggTier.GREAT, + [Species.DEINO]: EggTier.GREAT, + [Species.LARVESTA]: EggTier.GREAT, + [Species.COBALION]: EggTier.ULTRA, + [Species.TERRAKION]: EggTier.ULTRA, + [Species.VIRIZION]: EggTier.ULTRA, + [Species.TORNADUS]: EggTier.ULTRA, + [Species.THUNDURUS]: EggTier.ULTRA, + [Species.RESHIRAM]: EggTier.MASTER, + [Species.ZEKROM]: EggTier.MASTER, + [Species.LANDORUS]: EggTier.ULTRA, + [Species.KYUREM]: EggTier.MASTER, + [Species.KELDEO]: EggTier.ULTRA, + [Species.MELOETTA]: EggTier.ULTRA, + [Species.GENESECT]: EggTier.ULTRA, + + [Species.CHESPIN]: EggTier.COMMON, + [Species.FENNEKIN]: EggTier.COMMON, + [Species.FROAKIE]: EggTier.GREAT, + [Species.BUNNELBY]: EggTier.COMMON, + [Species.FLETCHLING]: EggTier.COMMON, + [Species.SCATTERBUG]: EggTier.COMMON, + [Species.LITLEO]: EggTier.COMMON, + [Species.FLABEBE]: EggTier.COMMON, + [Species.SKIDDO]: EggTier.COMMON, + [Species.PANCHAM]: EggTier.COMMON, + [Species.FURFROU]: EggTier.COMMON, + [Species.ESPURR]: EggTier.COMMON, + [Species.HONEDGE]: EggTier.GREAT, + [Species.SPRITZEE]: EggTier.COMMON, + [Species.SWIRLIX]: EggTier.COMMON, + [Species.INKAY]: EggTier.COMMON, + [Species.BINACLE]: EggTier.COMMON, + [Species.SKRELP]: EggTier.COMMON, + [Species.CLAUNCHER]: EggTier.COMMON, + [Species.HELIOPTILE]: EggTier.COMMON, + [Species.TYRUNT]: EggTier.COMMON, + [Species.AMAURA]: EggTier.COMMON, + [Species.HAWLUCHA]: EggTier.GREAT, + [Species.DEDENNE]: EggTier.COMMON, + [Species.CARBINK]: EggTier.COMMON, + [Species.GOOMY]: EggTier.GREAT, + [Species.KLEFKI]: EggTier.COMMON, + [Species.PHANTUMP]: EggTier.COMMON, + [Species.PUMPKABOO]: EggTier.COMMON, + [Species.BERGMITE]: EggTier.COMMON, + [Species.NOIBAT]: EggTier.COMMON, + [Species.XERNEAS]: EggTier.MASTER, + [Species.YVELTAL]: EggTier.MASTER, + [Species.ZYGARDE]: EggTier.MASTER, + [Species.DIANCIE]: EggTier.ULTRA, + [Species.HOOPA]: EggTier.ULTRA, + [Species.VOLCANION]: EggTier.ULTRA, + [Species.ETERNAL_FLOETTE]: EggTier.GREAT, + + [Species.ROWLET]: EggTier.COMMON, + [Species.LITTEN]: EggTier.COMMON, + [Species.POPPLIO]: EggTier.GREAT, + [Species.PIKIPEK]: EggTier.COMMON, + [Species.YUNGOOS]: EggTier.COMMON, + [Species.GRUBBIN]: EggTier.COMMON, + [Species.CRABRAWLER]: EggTier.COMMON, + [Species.ORICORIO]: EggTier.COMMON, + [Species.CUTIEFLY]: EggTier.COMMON, + [Species.ROCKRUFF]: EggTier.COMMON, + [Species.WISHIWASHI]: EggTier.COMMON, + [Species.MAREANIE]: EggTier.COMMON, + [Species.MUDBRAY]: EggTier.COMMON, + [Species.DEWPIDER]: EggTier.COMMON, + [Species.FOMANTIS]: EggTier.COMMON, + [Species.MORELULL]: EggTier.COMMON, + [Species.SALANDIT]: EggTier.COMMON, + [Species.STUFFUL]: EggTier.COMMON, + [Species.BOUNSWEET]: EggTier.COMMON, + [Species.COMFEY]: EggTier.GREAT, + [Species.ORANGURU]: EggTier.GREAT, + [Species.PASSIMIAN]: EggTier.GREAT, + [Species.WIMPOD]: EggTier.COMMON, + [Species.SANDYGAST]: EggTier.COMMON, + [Species.PYUKUMUKU]: EggTier.COMMON, + [Species.TYPE_NULL]: EggTier.GREAT, + [Species.MINIOR]: EggTier.GREAT, + [Species.KOMALA]: EggTier.COMMON, + [Species.TURTONATOR]: EggTier.GREAT, + [Species.TOGEDEMARU]: EggTier.COMMON, + [Species.MIMIKYU]: EggTier.GREAT, + [Species.BRUXISH]: EggTier.GREAT, + [Species.DRAMPA]: EggTier.GREAT, + [Species.DHELMISE]: EggTier.GREAT, + [Species.JANGMO_O]: EggTier.GREAT, + [Species.TAPU_KOKO]: EggTier.ULTRA, + [Species.TAPU_LELE]: EggTier.ULTRA, + [Species.TAPU_BULU]: EggTier.ULTRA, + [Species.TAPU_FINI]: EggTier.ULTRA, + [Species.COSMOG]: EggTier.ULTRA, + [Species.NIHILEGO]: EggTier.ULTRA, + [Species.BUZZWOLE]: EggTier.ULTRA, + [Species.PHEROMOSA]: EggTier.ULTRA, + [Species.XURKITREE]: EggTier.ULTRA, + [Species.CELESTEELA]: EggTier.ULTRA, + [Species.KARTANA]: EggTier.ULTRA, + [Species.GUZZLORD]: EggTier.ULTRA, + [Species.NECROZMA]: EggTier.MASTER, + [Species.MAGEARNA]: EggTier.ULTRA, + [Species.MARSHADOW]: EggTier.ULTRA, + [Species.POIPOLE]: EggTier.ULTRA, + [Species.STAKATAKA]: EggTier.ULTRA, + [Species.BLACEPHALON]: EggTier.ULTRA, + [Species.ZERAORA]: EggTier.ULTRA, + [Species.MELTAN]: EggTier.ULTRA, + [Species.ALOLA_RATTATA]: EggTier.COMMON, + [Species.ALOLA_SANDSHREW]: EggTier.COMMON, + [Species.ALOLA_VULPIX]: EggTier.COMMON, + [Species.ALOLA_DIGLETT]: EggTier.COMMON, + [Species.ALOLA_MEOWTH]: EggTier.COMMON, + [Species.ALOLA_GEODUDE]: EggTier.COMMON, + [Species.ALOLA_GRIMER]: EggTier.COMMON, + + [Species.GROOKEY]: EggTier.COMMON, + [Species.SCORBUNNY]: EggTier.GREAT, + [Species.SOBBLE]: EggTier.COMMON, + [Species.SKWOVET]: EggTier.COMMON, + [Species.ROOKIDEE]: EggTier.COMMON, + [Species.BLIPBUG]: EggTier.COMMON, + [Species.NICKIT]: EggTier.COMMON, + [Species.GOSSIFLEUR]: EggTier.COMMON, + [Species.WOOLOO]: EggTier.COMMON, + [Species.CHEWTLE]: EggTier.COMMON, + [Species.YAMPER]: EggTier.COMMON, + [Species.ROLYCOLY]: EggTier.COMMON, + [Species.APPLIN]: EggTier.COMMON, + [Species.SILICOBRA]: EggTier.COMMON, + [Species.CRAMORANT]: EggTier.COMMON, + [Species.ARROKUDA]: EggTier.COMMON, + [Species.TOXEL]: EggTier.COMMON, + [Species.SIZZLIPEDE]: EggTier.COMMON, + [Species.CLOBBOPUS]: EggTier.COMMON, + [Species.SINISTEA]: EggTier.COMMON, + [Species.HATENNA]: EggTier.COMMON, + [Species.IMPIDIMP]: EggTier.COMMON, + [Species.MILCERY]: EggTier.COMMON, + [Species.FALINKS]: EggTier.GREAT, + [Species.PINCURCHIN]: EggTier.COMMON, + [Species.SNOM]: EggTier.COMMON, + [Species.STONJOURNER]: EggTier.COMMON, + [Species.EISCUE]: EggTier.COMMON, + [Species.INDEEDEE]: EggTier.GREAT, + [Species.MORPEKO]: EggTier.COMMON, + [Species.CUFANT]: EggTier.COMMON, + [Species.DRACOZOLT]: EggTier.GREAT, + [Species.ARCTOZOLT]: EggTier.GREAT, + [Species.DRACOVISH]: EggTier.GREAT, + [Species.ARCTOVISH]: EggTier.GREAT, + [Species.DURALUDON]: EggTier.GREAT, + [Species.DREEPY]: EggTier.GREAT, + [Species.ZACIAN]: EggTier.MASTER, + [Species.ZAMAZENTA]: EggTier.MASTER, + [Species.ETERNATUS]: EggTier.COMMON, + [Species.KUBFU]: EggTier.ULTRA, + [Species.ZARUDE]: EggTier.ULTRA, + [Species.REGIELEKI]: EggTier.ULTRA, + [Species.REGIDRAGO]: EggTier.ULTRA, + [Species.GLASTRIER]: EggTier.ULTRA, + [Species.SPECTRIER]: EggTier.ULTRA, + [Species.CALYREX]: EggTier.MASTER, + [Species.GALAR_MEOWTH]: EggTier.COMMON, + [Species.GALAR_PONYTA]: EggTier.COMMON, + [Species.GALAR_SLOWPOKE]: EggTier.COMMON, + [Species.GALAR_FARFETCHD]: EggTier.COMMON, + [Species.GALAR_CORSOLA]: EggTier.COMMON, + [Species.GALAR_ZIGZAGOON]: EggTier.COMMON, + [Species.GALAR_DARUMAKA]: EggTier.GREAT, + [Species.GALAR_YAMASK]: EggTier.COMMON, + [Species.GALAR_STUNFISK]: EggTier.COMMON, + [Species.GALAR_MR_MIME]: EggTier.COMMON, + [Species.GALAR_ARTICUNO]: EggTier.ULTRA, + [Species.GALAR_ZAPDOS]: EggTier.ULTRA, + [Species.GALAR_MOLTRES]: EggTier.ULTRA, + [Species.HISUI_GROWLITHE]: EggTier.GREAT, + [Species.HISUI_VOLTORB]: EggTier.COMMON, + [Species.HISUI_QWILFISH]: EggTier.GREAT, + [Species.HISUI_SNEASEL]: EggTier.GREAT, + [Species.HISUI_ZORUA]: EggTier.COMMON, + [Species.ENAMORUS]: EggTier.ULTRA, + + [Species.SPRIGATITO]: EggTier.GREAT, + [Species.FUECOCO]: EggTier.GREAT, + [Species.QUAXLY]: EggTier.GREAT, + [Species.LECHONK]: EggTier.COMMON, + [Species.TAROUNTULA]: EggTier.COMMON, + [Species.NYMBLE]: EggTier.COMMON, + [Species.PAWMI]: EggTier.COMMON, + [Species.TANDEMAUS]: EggTier.GREAT, + [Species.FIDOUGH]: EggTier.COMMON, + [Species.SMOLIV]: EggTier.COMMON, + [Species.SQUAWKABILLY]: EggTier.COMMON, + [Species.NACLI]: EggTier.GREAT, + [Species.CHARCADET]: EggTier.GREAT, + [Species.TADBULB]: EggTier.COMMON, + [Species.WATTREL]: EggTier.COMMON, + [Species.MASCHIFF]: EggTier.COMMON, + [Species.SHROODLE]: EggTier.COMMON, + [Species.BRAMBLIN]: EggTier.COMMON, + [Species.TOEDSCOOL]: EggTier.COMMON, + [Species.KLAWF]: EggTier.COMMON, + [Species.CAPSAKID]: EggTier.COMMON, + [Species.RELLOR]: EggTier.COMMON, + [Species.FLITTLE]: EggTier.COMMON, + [Species.TINKATINK]: EggTier.GREAT, + [Species.WIGLETT]: EggTier.COMMON, + [Species.BOMBIRDIER]: EggTier.COMMON, + [Species.FINIZEN]: EggTier.COMMON, + [Species.VAROOM]: EggTier.GREAT, + [Species.CYCLIZAR]: EggTier.GREAT, + [Species.ORTHWORM]: EggTier.GREAT, + [Species.GLIMMET]: EggTier.GREAT, + [Species.GREAVARD]: EggTier.COMMON, + [Species.FLAMIGO]: EggTier.GREAT, + [Species.CETODDLE]: EggTier.COMMON, + [Species.VELUZA]: EggTier.GREAT, + [Species.DONDOZO]: EggTier.GREAT, + [Species.TATSUGIRI]: EggTier.GREAT, + [Species.GREAT_TUSK]: EggTier.ULTRA, + [Species.SCREAM_TAIL]: EggTier.ULTRA, + [Species.BRUTE_BONNET]: EggTier.ULTRA, + [Species.FLUTTER_MANE]: EggTier.ULTRA, + [Species.SLITHER_WING]: EggTier.ULTRA, + [Species.SANDY_SHOCKS]: EggTier.ULTRA, + [Species.IRON_TREADS]: EggTier.ULTRA, + [Species.IRON_BUNDLE]: EggTier.ULTRA, + [Species.IRON_HANDS]: EggTier.ULTRA, + [Species.IRON_JUGULIS]: EggTier.ULTRA, + [Species.IRON_MOTH]: EggTier.ULTRA, + [Species.IRON_THORNS]: EggTier.ULTRA, + [Species.FRIGIBAX]: EggTier.GREAT, + [Species.GIMMIGHOUL]: EggTier.GREAT, + [Species.WO_CHIEN]: EggTier.ULTRA, + [Species.CHIEN_PAO]: EggTier.ULTRA, + [Species.TING_LU]: EggTier.ULTRA, + [Species.CHI_YU]: EggTier.ULTRA, + [Species.ROARING_MOON]: EggTier.ULTRA, + [Species.IRON_VALIANT]: EggTier.ULTRA, + [Species.KORAIDON]: EggTier.MASTER, + [Species.MIRAIDON]: EggTier.MASTER, + [Species.WALKING_WAKE]: EggTier.ULTRA, + [Species.IRON_LEAVES]: EggTier.ULTRA, + [Species.POLTCHAGEIST]: EggTier.GREAT, + [Species.OKIDOGI]: EggTier.ULTRA, + [Species.MUNKIDORI]: EggTier.ULTRA, + [Species.FEZANDIPITI]: EggTier.ULTRA, + [Species.OGERPON]: EggTier.ULTRA, + [Species.GOUGING_FIRE]: EggTier.ULTRA, + [Species.RAGING_BOLT]: EggTier.ULTRA, + [Species.IRON_BOULDER]: EggTier.ULTRA, + [Species.IRON_CROWN]: EggTier.ULTRA, + [Species.TERAPAGOS]: EggTier.MASTER, + [Species.PECHARUNT]: EggTier.ULTRA, + [Species.PALDEA_TAUROS]: EggTier.GREAT, + [Species.PALDEA_WOOPER]: EggTier.COMMON, + [Species.BLOODMOON_URSALUNA]: EggTier.ULTRA, +}; diff --git a/src/data/egg.ts b/src/data/egg.ts index 5fffe4fcece..666da01bfe1 100644 --- a/src/data/egg.ts +++ b/src/data/egg.ts @@ -11,6 +11,8 @@ import { EggTier } from "#enums/egg-type"; import { Species } from "#enums/species"; import { EggSourceType } from "#enums/egg-source-types"; import { MANAPHY_EGG_MANAPHY_RATE, SAME_SPECIES_EGG_HA_RATE, GACHA_EGG_HA_RATE, GACHA_DEFAULT_RARE_EGGMOVE_RATE, SAME_SPECIES_EGG_RARE_EGGMOVE_RATE, GACHA_MOVE_UP_RARE_EGGMOVE_RATE, GACHA_DEFAULT_SHINY_RATE, GACHA_SHINY_UP_SHINY_RATE, SAME_SPECIES_EGG_SHINY_RATE, EGG_PITY_LEGENDARY_THRESHOLD, EGG_PITY_EPIC_THRESHOLD, EGG_PITY_RARE_THRESHOLD, SHINY_VARIANT_CHANCE, SHINY_EPIC_CHANCE, GACHA_DEFAULT_COMMON_EGG_THRESHOLD, GACHA_DEFAULT_RARE_EGG_THRESHOLD, GACHA_DEFAULT_EPIC_EGG_THRESHOLD, GACHA_LEGENDARY_UP_THRESHOLD_OFFSET, HATCH_WAVES_MANAPHY_EGG, HATCH_WAVES_COMMON_EGG, HATCH_WAVES_RARE_EGG, HATCH_WAVES_EPIC_EGG, HATCH_WAVES_LEGENDARY_EGG } from "#app/data/balance/rates"; +import { speciesEggTiers } from "#app/data/balance/species-egg-tiers"; +import { clampNumber } from "#app/utils"; export const EGG_SEED = 1073741824; @@ -398,8 +400,8 @@ export class Egg { const ignoredSpecies = [ Species.PHIONE, Species.MANAPHY, Species.ETERNATUS ]; - let speciesPool = Object.keys(speciesStarterCosts) - .filter(s => speciesStarterCosts[s] >= minStarterValue && speciesStarterCosts[s] <= maxStarterValue) + let speciesPool = Object.keys(speciesEggTiers) + .filter(s => speciesEggTiers[s] === this.tier) .map(s => parseInt(s) as Species) .filter(s => !pokemonPrevolutions.hasOwnProperty(s) && getPokemonSpecies(s).isObtainable() && ignoredSpecies.indexOf(s) === -1); @@ -430,7 +432,9 @@ export class Egg { let totalWeight = 0; const speciesWeights : number[] = []; for (const speciesId of speciesPool) { - let weight = Math.floor((((maxStarterValue - speciesStarterCosts[speciesId]) / ((maxStarterValue - minStarterValue) + 1)) * 1.5 + 1) * 100); + // Accounts for species that have starter costs outside of the normal range for their EggTier + const speciesCostClamped = clampNumber(speciesStarterCosts[speciesId], minStarterValue, maxStarterValue); + let weight = Math.floor((((maxStarterValue - speciesCostClamped) / ((maxStarterValue - minStarterValue) + 1)) * 1.5 + 1) * 100); const species = getPokemonSpecies(speciesId); if (species.isRegional()) { weight = Math.floor(weight / 2); diff --git a/src/field/pokemon.ts b/src/field/pokemon.ts index d6f73e1b5bc..b2258c081f6 100644 --- a/src/field/pokemon.ts +++ b/src/field/pokemon.ts @@ -983,7 +983,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { this.scene.applyModifier(PokemonIncrementingStatModifier, this.isPlayer(), this, s, statHolder); } - statHolder.value = Utils.clampInt(statHolder.value, 1, Number.MAX_SAFE_INTEGER); + statHolder.value = Utils.clampNumber(statHolder.value, 1, Number.MAX_SAFE_INTEGER); this.setStat(s, statHolder.value); } diff --git a/src/ui/battle-info.ts b/src/ui/battle-info.ts index 79b51ba6c44..53ebdec4071 100644 --- a/src/ui/battle-info.ts +++ b/src/ui/battle-info.ts @@ -593,7 +593,7 @@ export default class BattleInfo extends Phaser.GameObjects.Container { }; const updatePokemonHp = () => { - let duration = !instant ? Utils.clampInt(Math.abs((this.lastHp) - pokemon.hp) * 5, 250, 5000) : 0; + let duration = !instant ? Utils.clampNumber(Math.abs((this.lastHp) - pokemon.hp) * 5, 250, 5000) : 0; const speed = (this.scene as BattleScene).hpBarSpeed; if (speed) { duration = speed >= 3 ? 0 : duration / Math.pow(2, speed); diff --git a/src/utils.ts b/src/utils.ts index 9cc95b00826..b57749a42a5 100644 --- a/src/utils.ts +++ b/src/utils.ts @@ -38,7 +38,13 @@ export function shiftCharCodes(str: string, shiftCount: integer) { return newStr; } -export function clampInt(value: integer, min: integer, max: integer): integer { +/** + * Clamps a number + * @param value + * @param min + * @param max + */ +export function clampNumber(value: number, min: number, max: number): number { return Math.min(Math.max(value, min), max); }